POSIXctオブジェクトの入力ベクトルがあるとします。
times.input <- c(
as.POSIXct('2013-01-01 00:00:00', tz='GMT'),
as.POSIXct('2013-01-01 00:00:01', tz='GMT')
)
class(times.input)
# [1] "POSIXct" "POSIXt"
一部の関数 (roundまたは などtrunc) は次のように変換POSIXctされPOSIXltます。
unique.dates <- unique(trunc(times.input, 'days')))
class(times.rounded)
# [1] "POSIXlt" "POSIXt"
次に、lapplyこのオブジェクトを反復しようとすると、奇妙なことが起こります。
lapply(X=unique.dates, FUN=print)
# [1] 0 0
# [1] 0 0
# [1] 4 4
# [1] 1 1
# [1] 0 0
# [1] 113 113
# [1] 2 2
# [1] 0 0
# [1] 0 0
ベクトルのリストとして内部的に垂直に格納されているようPOSIXltで、各オブジェクトを反復するのではなく、内部構造を反復します。
は内部的に整数として格納されるため、 への変換がPOSIXctこの場合に役立つことはわかっていますが、この解決策は醜いと思います。POSIXct
私の質問は次のとおりです。POSIXlt[2]データ入力が与えられた場合、for ループまたはオブジェクトlapplyに対して実行する方法は?POSIXct