如何在 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 包中提供的功能。