私はdata.frame
を持っており、それをcbind
で順次サブセットに分割したいと思います。たとえば、次のようにdata.frame
を入力すると、5つのデータポイントのすべてのシーケンスが必要になります。最終結果は3列になります(下記参照)。ベクトル化されたローリングスプレッド/分割/サブセット
x <- data.frame(c(1,7,2,5,3,6,4))
は、ここで私はループでそれを行うだろうかだが、私はベクトル化何かをしたいと思います。
res <- NULL
for (i in 1:3){
res_temp <- x[i:(i+4),]
res <- cbind(res,res_temp)
}
res
res_temp res_temp res_temp
[1,] 1 7 2
[2,] 7 2 5
[3,] 2 5 3
[4,] 5 3 6
[5,] 3 6 4
これは興味深いようですが、必要な列の数はわかりません。 'embed(x [1]、nrow(x)-5 + 1)[、(n)(x)-5 + 1):1]' –
はい、うまくいくでしょう。答えを更新してkを計算してください。 –