【发布时间】:2014-09-06 15:29:13
【问题描述】:
假设 R 中有日期/时间向量:
l<-c("2011-01-01 00:00:00", "2011-01-01 01:00:00", "2011-01-01 02:00:00")
我想为这个向量的每个元素添加一定的时间(例如 1 小时)。首先,我将元素转换为 POSIXlt:
l1<-as.POSIXlt(l)
然后我尝试使用 sapply 并按照How to add/subtract time from a POSIXlt time while keeping its class in R? 中所述添加小时数:
f<-function(dt, hour){
dt$hour<-dt$hour + hour
return(dt)
}
sapply(l1, function(x) f(x,1))
但是,执行此代码会出现错误: dt$hour 中的错误:$ 运算符对原子向量无效
调试告诉 class(dt) 是数字而不是 POSIXt
我该如何解决这个问题?
【问题讨论】: