我在R中有一个数据框,其中一列是时间戳,例如2014-03-08 00:20:34
我想将数据框中的所有这些时间戳转换为一年中的某一天。例如,2014年3月29日将是88.
如果'df'是我的数据框并且'updated'是我的时间戳列,这将进行转换:
strftime(df$updated, format = "%j")
如何在整个数据框中应用此功能?
谢谢,
答案 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