如何在 r 中将数字转换为日期


通常,您可能需要在 R 中将数字转换为日期格式。最简单的方法是使用lubridate包,它具有几个用于处理 R 中日期的有用函数。

本教程提供了如何在实践中使用这些函数的几个示例。

示例 1:将整数转换为日期

以下代码展示了如何使用ymd()函数将数据框中的一列整数值转换为日期格式:

 library (lubridate)

#create data frame
df <- data.frame(date = c(20201022, 20201023, 20201026, 20201027, 20201028),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- ymd (df$date)

#view data frame
df

        dirty date
1 2020-10-22 4
2 2020-10-23 7
3 2020-10-26 8
4 2020-10-27 9
5 2020-10-28 12

#view class of date column
class (df$date)

[1] “Date”

请注意,lubridate 包有多个函数来处理不同的日期格式。

例如,下面显示了如何使用ydm()函数将数据框中的一列整数值转换为日期格式:

 library (lubridate)

#create data frame
df <- data.frame(date = c(20202210, 20202310, 20202610, 20202710, 20202810),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- ydm (df$date)

#view data frame
df

        dirty date
1 2020-10-22 4
2 2020-10-23 7
3 2020-10-26 8
4 2020-10-27 9
5 2020-10-28 12

#view class of date column
class (df$date)

[1] “Date”

示例 2:将月份和年份转换为日期

下面的代码展示了如何使用months()函数将一列表示从2010年1月1日起的月数的数值转换为日期格式:

 library (lubridate)

#create data frame
df <- data.frame(date = c(11, 15, 18, 22, 24),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- as. Date (' 2010-01-01 ') + months (df$date)

#view data frame
df

        dirty date
1 2010-12-01 4
2 2011-04-01 7
3 2011-07-01 8
4 2011-11-01 9
5 2012-01-01 12

#view class of date column
class (df$date)

[1] “Date”

下面的代码展示了如何使用Years()函数将一列表示从 2010 年 1 月 1 日起的年数的数值转换为日期格式:

 library (lubridate)

#create data frame
df <- data.frame(date = c(11, 15, 18, 22, 24),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- as. Date (' 2010-01-01 ') + years (df$date)

#view data frame
df

        dirty dates
1 2021-01-01 4
2 2025-01-01 7
3 2028-01-01 8
4 2032-01-01 9
5 2034-01-01 12

#view class of date column
class (df$date)

[1] “Date”

额外奖励:请参阅此备忘单以更好地了解 Lubridate 包中提供的功能。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注