如果你想应用一个函数而不是format
一个 POSIXct 对象列表怎么办?例如,假设我想取一个时间向量,将这些时间截断为小时,并对每个时间应用一个任意函数。
> obs.times=as.POSIXct(c('2010-01-02 12:37:45','2010-01-02 08:45:45','2010-01-09 14:45:53'))
> obs.truncated=trunc(obs.times, units="hours")
> obs.truncated
[1] "2010-01-02 12:00:00 EST" "2010-01-02 08:00:00 EST"
[3] "2010-01-09 14:00:00 EST"
现在,我希望长度为obs.truncated
3 但
> length(obs.truncated)
[1] 9
因此,您可以看到尝试apply
对该向量执行函数是行不通的。类obs.truncated
是
> class(obs.truncated)
[1] "POSIXt" "POSIXlt"
知道这里发生了什么吗? apply
并且length
似乎将向量的第一个元素作为自己的列表。