1

我有以下数据框:

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

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

4

3 回答 3

3

你可以这样做:

library(lubridate)
df <- data.frame(id, ymd(date))
于 2012-07-21T10:03:54.443 回答
3

为了完整起见,还有第三种可能性strptime

strptime(date,format="%Y%m%d")
[1] "1997-08-07" "1997-09-02" "1997-10-10" "1997-07-15"
于 2012-07-21T10:57:59.560 回答
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"
于 2012-07-21T10:03:33.443 回答