我有一个日期列“日期”的df,如:
2016001 2016002 .. .. 2016366(这是闰年)
如何将这些转换为: 2016年1月1日 2016年1月2日 .. .. 2016年12月31日
答案 0 :(得分:4)
您可以使用strptime()
中使用的基本R函数as.POSIXct()
来解析POSIXct
对象的日期。对于YYYYddd,格式为%Y%j
:
p <- strptime(c("2016001", "2016002", "2016366"), format="%Y%j", tz="UTC")
p
[1] "2016-01-01 UTC" "2016-01-02 UTC" "2016-12-31 UTC"
然后,如果您想要显示2016年1月1日2016 ... 2016年12月31日,您可以使用paste()
:
paste(p$mon+1, p$mday, p$year+1900, sep="/")
[1] "1/1/2016" "1/2/2016" "12/31/2016"