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

问题描述:

我有以下的数据帧:如何将数字转换为R中的日期?

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

在其值在日期栏的类型是“NUM”。现在我需要将日期列中的值转换为'日期'类型为'yyyy-mm-dd'。加载'动物园'图书馆后,我尝试了as.date,但它导致了一些不可接受的结果。 如果有人能帮助我,我会很感激。

也许你错过了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" 

你可以这样做:

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

只要是完整的,也有使用strptime第三种可能性:

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