0
に追加一つから取り除か単一の値を持つ列に私はこのセレクト開始と終了
col1 = rnorm(1:100)
col2 = c(1:100)
col3 = c(501:600)
df <- data.frame(col1, col2, col3)
ようなデータフレームを持っている私はCOL1 30の第一の値を選択する(すなわち、行1 〜30)、単純な計算を行い、次に にcol1(つまり2〜31行)の30個の値を選択し、これを最後の30行(71〜100まで)まで繰り返す。 私はこのような何かをしたいサブセット毎回(私はサブサンプルを選択するための他の方法がある知っている)
を選択しますが、機能またはforループ
上df30 <- df[1:30,]
df31 <- df[2:31,]
df31 <- df[3:32,]
ので、自動化することができます
Rでこれを行うにはどうすればよいですか?あなたの助けに感謝します
関数を適用する場合は、 '平均' 'ライブラリ(data.table);ライブラリ(動物園); setDT(df)[、rollapply(col1、30、mean)] ' – akrun
あなたの返事をありがとう。私は30の値の平均を取ることを望んでいない、私はちょうどdf30、df31、df32などにそれらを持っているようにしたいですか? –
グローバルenvで複数のオブジェクトを作成することは推奨されません。私はちょうど機能を適用する方法を示しています。実際には、あなたのカスタム関数をrollapplyに適用することができます – akrun