R 为什么Lappy会弄坏POSIXlt?

R 为什么Lappy会弄坏POSIXlt?,r,R,似乎lapply mangles POSIXlt记录了: low,lapply内部函数中的小时元素是数值向量,而不是POSIXlt 看起来小时数是单个POSIXlt字段的列表,而不是向量或POSIXlt对象 我做错了什么 注:以下似乎是一个解决办法: lapply(1:length(hours),function(i) ....hours[i]...) POSIXlt对象是一个命名的向量列表,请参见?POSIXlt。Lappy在列表上循环,并在每个向量sec,min,…,isdst上调用FUN

似乎lapply mangles POSIXlt记录了:

low,lapply内部函数中的小时元素是数值向量,而不是POSIXlt

看起来小时数是单个POSIXlt字段的列表,而不是向量或POSIXlt对象

我做错了什么

注:以下似乎是一个解决办法:

lapply(1:length(hours),function(i) ....hours[i]...)
POSIXlt对象是一个命名的向量列表,请参见?POSIXlt。Lappy在列表上循环,并在每个向量sec,min,…,isdst上调用FUN

这与data.frame对象是向量列表的方式类似,因此lappy在data.frame的列上循环并对每个向量调用FUN

更好的解决方法是将POSIXlt对象转换为POSIXct,除非您需要POSIXlt的特定功能。

POSIXlt对象是一个命名的向量列表,请参见?POSIXlt。Lappy在列表上循环,并在每个向量sec,min,…,isdst上调用FUN

这与data.frame对象是向量列表的方式类似,因此lappy在data.frame的列上循环并对每个向量调用FUN

更好的解决方法是将POSIXlt对象转换为POSIXct,除非您需要POSIXlt的特定功能

lapply(1:length(hours),function(i) ....hours[i]...)