欠落している動物園の時系列があります。それを埋めて連続シリーズを作るために...
最初から最後まで chron 日時シーケンスを生成します。
シリーズをこれに統合します。
na.locf を使用して、NA を las 観測に置き換えます。
シンセティック chron シーケンスを削除します。
同じことをもっと簡単にできますか?たぶん、周波数に関連するいくつかのインデックス関数で?
欠落している動物園の時系列があります。それを埋めて連続シリーズを作るために...
最初から最後まで chron 日時シーケンスを生成します。
シリーズをこれに統合します。
na.locf を使用して、NA を las 観測に置き換えます。
シンセティック chron シーケンスを削除します。
同じことをもっと簡単にできますか?たぶん、周波数に関連するいくつかのインデックス関数で?
インデックス付きの「空の」zoo
オブジェクトを使用すると、少し簡単になります。
> x <- zoo(1:10,Sys.Date()-10:1)[c(1,3,5,7,10)]
> empty <- zoo(order.by=seq.Date(head(index(x),1),tail(index(x),1),by="days"))
> na.locf(merge(x,empty))
2010-08-14 2010-08-15 2010-08-16 2010-08-17 2010-08-18
1 1 3 3 5
2010-08-19 2010-08-20 2010-08-21 2010-08-22 2010-08-23
5 7 7 7 10
編集:日中のデータの場合(ガボールの優れたxout=
提案を使用):
> index(x) <- as.POSIXct(index(x))
> na.locf(x, xout=seq(head(index(x),1),tail(index(x),1),by="15 min"))
これは、zoo FAQ http://cran.r-project.org/web/packages/zoo/vignettes/zoo-faq.pdfの質問 13 で説明されています。この質問では、na.locf の xout= 引数を使用してマージ ステップを省略しています。 . この機能は最近追加されたため、zoo 1.6.4 以降を使用していることを確認してください。