如何将数字转换为R中的日期?

时间:2012-07-21 09:47:21

标签: r

我有以下数据框:

id<-c(1,2,3,4)
date<-c(19970807,19970902,19971010,19970715)
df<-data.frame(id,date)

其中date列中值的类型为'num'。现在我需要将date列中的值转换为'date'类型为'yyyy-mm-dd'。在加载'zoo'库之后我尝试了as.date但是它导致了一些不可接受的结果。 如果有人能帮助我,我将感激不尽。

3 个答案:

答案 0 :(得分:3)

你可以这样做:

library(lubridate)
df <- data.frame(id, ymd(date))

答案 1 :(得分:3)

为了完成,使用strptime还有第三种可能性:

strptime(date,format="%Y%m%d")
[1] "1997-08-07" "1997-09-02" "1997-10-10" "1997-07-15"

答案 2 :(得分:2)

可能你错过了as.character()。在基地R:

as.Date(as.character(date), format = "%Y%m%d")
[1] "1997-08-07" "1997-09-02" "1997-10-10" "1997-07-15"