0

データフレームからサブセットを抽出する関数を提案できる人はいますか? より具体的には、1000 行のデータ フレームがあるとします。10行を含むデータ「ウィンドウ」を作成し、現在の「ウィンドウ」(サブセット)の標準偏差を計算し、さらに5行移動して次の「ウィンドウ」に対して実行したいと考えています。そのため、行をスキップしたくありません。代わりに、「ウィンドウ」間に5行のオーバーラップが必要です。ありがとう!

4

1 に答える 1

4

rollmeanあなたは動物園のパッケージから探しています:

> library(zoo) 
> x.Date <- as.Date(paste(2004, rep(1:4, 4:1), sample(1:28, 10), sep = "-"))
> set.seed(1)
> x<- zoo(rnorm(12), x.Date) # Creating a time series
> rollmean(x, 5) # obtaining the 5 days rolling mean.
2004-01-10 2004-01-11 2004-02-21 2004-02-27 2004-02-28 2004-03-13 
 0.1292699  0.3938814  0.3550785  0.1836873  0.2621149  0.1351357 

この例では、移動ウィンドウは 5 で、「オーバーラップ」の長さは 1 です。

参考に?rollmeanしてみてください。?rollapply

> rollapply(x, width=5, by=2, mean)
2004-01-10 2004-02-21 2004-02-28 
 0.1292699  0.3550785  0.2621149 

を使用すると、引数rollapplyによって「重なり合う」長さを変えることができますby。この場合、移動ウィンドウは 5 で、「オーバーラップ」の長さは 2 であることに注意してください。

于 2013-09-24T09:33:14.370 に答える