我正在处理一个庞大的数据集。有些月份的格式为01/01/2010
,其他月份为1/1/2010
。
当我运行as.Date(Dates, format="%y/%d/%m")
时,所有后面的日期都会改变到2020年。这里发生了什么?
答案 0 :(得分:4)
您的格式声明不正确。试试这个:
d1 <- "01/01/2010"
d2 <- "1/1/2010"
> as.Date(d1, format='%d/%m/%Y')
#[1] "2010-01-01"
> as.Date(d2, format='%d/%m/%Y')
#[1] "2010-01-01"
对于年份格式不同的日期,可以使用lubridate
包:
library(lubridate)
d1 <- "1/1/10"
d2 <- "01/01/2010"
parse_date_time(d1, "dmy")
#[1] "2010-01-01 UTC"
parse_date_time(d2, "dmy")
#[1] "2010-01-01 UTC"