所以我有一个数据框,其中包含日期列,所有列都可以有不同的格式
> 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格式?
答案 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))