我的数据有一个开始和结束时间戳,例如:
200401010000 200401010030
200401010030 200401010100
200401010100 200401010130 and so on...
我正在尝试使用lubridate和as.POSIXct将这些字段转换为%YYYY%MM%DD%HH%MM格式,但我只获得了NA。任何帮助将不胜感激。 我的目标是汇总每个月的数据。 我到目前为止使用的代码如下:
start_time = as.POSIXct(dat$TIMESTAMP_START, format = "%YYYY%MM%DD %HH%MM",origin = "2004-01-01 00:00", tz="EDT")
stop_time = as.POSIXct(dat$TIMESTAMP_END, format = "%YYYY%MM%DD%HH%MM",origin = "2004-01-01 00:30", tz="EDT")
dat$interval <- interval(start_time, stop_time)
答案 0 :(得分:0)
我可以看到两个问题:
如果您已经使用lubridate
,那么您应该使用功能ymd_hm()
,这只是更清洁的IMO。
您不能将该函数应用于向量(我假设dat$TIMESTAMP_START
和dat$TIMESTAMP_END
是);要做到这一点,你可以使用:
start_time <- sapply(dat$TIMESTAMP_START, ymd_hm())
end_time <- sapply(dat$TIMESTAMP_END, ymd_hm())
这会将该函数应用于向量中的每个项目。