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