将数据框中的timestamp列转换为R中的日期

时间:2014-03-29 19:25:05

标签: r timestamp

我在R中有一个数据框,其中一列是时间戳,例如2014-03-08 00:20:34

我想将数据框中的所有这些时间戳转换为一年中的某一天。例如,2014年3月29日将是88.

如果'df'是我的数据框并且'updated'是我的时间戳列,这将进行转换:

strftime(df$updated, format = "%j")

如何在整个数据框中应用此功能?

谢谢,

1 个答案:

答案 0 :(得分:1)

as.numeric(as.Date("2014-03-08 00:20:34")-as.Date("2014-01-01"))+1
#[1] 67

因此,只需对所需的任何名称列使用赋值,并将df$updated替换为字符值。另一种方式是POSIXlt对象,它们实际上是多元素命名列表:

as.POSIXlt("2014-03-08 00:20:34")$yday
[1] 66
as.POSIXlt("2014-03-08 00:20:34")$yday +1 
[1] 67   #b ecause `yday`s` are zero referenced unlike the rest of R