【发布时间】:2019-05-16 22:15:40
【问题描述】:
我有一个数据框,其中一列是date,但它是一个数字。我想把它转换成 POSIXct 格式,但我不知道怎么做。
我曾想过使用不同的函数(gsub、substr 等),但据我所知,它们都不允许我在特定位置的数字之间添加“-”。
我该怎么做?
例如,我有这个数据框df1:
df1<- data.frame(date=c(20160801,20160802,20160803),
var1=c(4,56,76))
> df1
date var1
1 20160801 4
2 20160802 56
3 20160803 76
我想得到这个:
> df1
date var1
1 2016-08-01 4
2 2016-08-02 56
3 2016-08-03 76
我该怎么做?
【问题讨论】:
-
不用麻烦添加
-或加载额外的包,只需指定不带空格的格式 -as.Date(as.character(df1$date), format="%Y%m%d") -
如果你真的想要上课
POSIXct:as.POSIXct(strptime(as.character(df1$date), "%Y%m%d"))。但我怀疑 Date 类的对象也可以。 -
@neilfws - 为什么会有额外的
strptime? - 直接去 -as.POSIXct(as.character(df1$date), format="%Y%m%d") -
-
是的!谢谢你们的cmets!!我认为我的帖子重复了...我没有找到您提到的帖子...我要删除我的帖子吗?
标签: r