A:如何使用 lubridate 将字符转换为日期


您可以使用 R 中lubridate包中的各种函数将字符列转换为日期格式。

两个最常见的功能包括:

  • ymd() – 将年-月-日格式的字符转换为日期
  • mdy() – 将月日年格式的字符转换为日期

以下示例展示了如何在实践中使用ymd()mdy()函数。

注意:请参阅Lubridate 文档,了解可用于根据日期格式将字符转换为日期的函数的完整列表。

示例 1:使用 ymd() 将字符转换为日期

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (date=c('2022-01-05', '2022-02-18', '2022-03-21',
                        '2022-09-15', '2022-10-30', '2022-12-25'),
                 sales=c(14, 29, 25, 23, 39, 46))

#view data frame
df

        dirty dates
1 2022-01-05 14
2 2022-02-18 29
3 2022-03-21 25
4 2022-09-15 23
5 2022-10-30 39
6 2022-12-25 46

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

[1] “character”

目前,日期列中的值是字符,但我们可以使用 lubridate 包中的ymd()函数将它们转换为日期:

 library (lubridate)

#convert character to date format
df$date <- ymd(df$date)

#view updated data frame
df

        dirty date
1 2022-01-05 14
2 2022-02-18 29
3 2022-03-21 25
4 2022-09-15 23
5 2022-10-30 39
6 2022-12-25 46

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

[1] “Date”

我们可以看到日期列现在有一个日期类而不是字符。

示例 2:使用 mdy() 将字符转换为日期

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (date=c('March 4, 2022', 'April 9, 2022', 'May 6, 2022',
                        'May 29, 2022', 'June 1, 2022', 'July 2, 2022'),
                 sales=c(14, 29, 25, 23, 39, 46))

#view data frame
df

           dirty date
1 March 4, 2022 14
2 April 9, 2022 29
3 May 6, 2022 25
4 May 29, 2022 23
5 June 1, 2022 39
6 July 2, 2022 46

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

[1] “character”

目前,日期列值是字符,但我们可以使用 lubridate 包中的mdy()函数将它们转换为日期:

 library (lubridate)

#convert character to date format
df$date <- mdy(df$date)

#view updated data frame
df

        dirty dates
1 2022-03-04 14
2 2022-04-09 29
3 2022-05-06 25
4 2022-05-29 23
5 2022-06-01 39
6 2022-07-02 46

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

[1] “Date”

我们可以看到日期列现在有一个日期类而不是字符。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在R中将日期转换为数字
如何从R中的日期中提取月份
如何在 R 中为日期添加和减去月份

添加评论

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