元のオブジェクトのすべての観測を含む定期的な1 秒間のリストに大きな xts オブジェクトを分割したいと考えています。目標は、各リスト要素をクラスター上のノードに送信して処理することです。
私はこの解決策を思いつきましたが、これは非常に精巧です。このコードを単純化できるかどうか疑問に思っています:
library(xts)
set.seed(123)
myts = xts(1:10000, as.POSIXlt(1366039619, ts="EST", origin="1970-01-01") + rnorm(10000, 1, 100))
# insure we have at least one observation per second
secs = seq(trunc(index(head(myts, 1))), trunc(index(tail(myts, 1))), by="s")
# generate second periods endpoints
myts = merge(myts, secs, fill=na.locf)
myts.aligned = align.time(myts, 1)
myts.ep = endpoints(myts.aligned, "seconds", 1)
# split large xts object in list of second periods
myts.list = lapply(1:(length(myts.ep)-1), function(x, myts, ep) { myts[ep[x]:ep[x+1],] }, myts, myts.ep)
# call to parLapply here...