3列ごとにまとめて結果を新しい列に入れているので、300列以上のデータフレームでこれを行う必要があります。私は追加を実行するループを作ることができますが、私は新しい列の名前を付けることに問題があります。私は彼らが私のコードでは、しかし「NEW1」、「NEW2」と「new3」として表示される新しい列の名前を希望ループ内の新しい列の名前を作成
x1 <- rnorm(100)
x2 <- rnorm(100)
x3 <- rnorm(100)
x4 <- rnorm(100)
x5 <- rnorm(100)
x6 <- rnorm(100)
x7 <- rnorm(100)
x8 <- rnorm(100)
x9 <- rnorm(100)
x10 <- rnorm(100)
x11 <- rnorm(100)
x12 <- rnorm(100)
df <- data.frame(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10, x11,x12)
for (i in 2:4){
new <- apply(df[,c(i,i+3,i+6)],1,sum,na.rm=T)
df <- cbind(df, new[i-1])
}
:ここで私は、私はそうVARを試してみました何をしたいの例ですすべての名前が "new [i]"であることを確認してください。ループを使用せずにこの列を作成する方法は他にもありますが、おそらくより良い方法があると確信していますが、 it.Thanks
FYI、これを行うにはより多くのR-っぽい、ベクトル化の方法は、 'CBIND(DF、setNames(data.frame(rowSums(DF [C(T、F、だろうpaste0( 'new'、seq(ncol(df)/ 4)、rowSums(df [c(F、T、F)])、rowSums(df [ )))) – Sotos