我有一个数据框架,其中包括一个日期列。然而,我有一些日期是以一种方式格式化的,而另一些则是以另一种方式格式化的。如何将此数据调整为单一日期格式。如何处理日期变量,如下所示。
df = data.frame(Date=c("5/1/13","8/1/13","9/1/13","Apr-10",
"Apr-11","Apr-12","Apr-13"))就其价值而言,我的数据看起来确实如下:
> str(dat)
'data.frame': 425376 obs. of 27 variables:
$ Date : chr "Jan-10" "Jan-10" "Jan-10" "Jan-10" ...谢谢!
发布于 2013-11-04 22:57:03
基本上,我会使用lubridate和parse_date_time来转换日期。
但是"%b-%y"格式是不可能解析的( as.Date,strptime也失败了)。我不得不增加一天时间将其转换为%d-%b-%y格式。这里我的代码:
df$Date <- as.character(df$Date)
format = guess_formats(df$Date,orders=c('dmy','my'))
df$Date[format== "%b-%y"] <- paste(1,df$Date[format== "%b-%y"],sep="-")
parse_date_time(df$Date,"dmy")
[1] "2013-01-05 UTC" "2013-01-08 UTC" "2013-01-09 UTC"
"2010-04-01 UTC" "2011-04-01 UTC" "2012-04-01 UTC" "2013-04-01 UTC"https://stackoverflow.com/questions/19778603
复制相似问题