修改R中的日期格式

时间:2013-09-27 03:09:27

标签: r strptime

所以我有一个数据框,其中包含日期列,所有列都可以有不同的格式

> DateCol1      DateCol2     DateCol3       DateCol4      DateCol5
> 24-08-2011   2011-12-24     08/1900/24    12/13/2011    Jan 31 1895

我知道我可以单独为每个人使用 strptime / as.Date / as.POSIXct ,但由于数据帧将在运行时生成,我不会事先知道内容< / p>

那么如何在通用函数/语句中将它们全部转换为默认的R格式?

1 个答案:

答案 0 :(得分:1)

尝试使用guess_formats包中的lubridate

library(lubridate)
fmts <- lapply(dat, guess_formats, c("m d y", "d-M-y", "Y-m-d",  "m Y d"))
fmts <- lapply(fmts, "[[", 1)
as.data.frame(mapply(parse_date_time, x=dat, orders=fmts))