私はRが初めてです。変数の平均を変数ごとに計算する必要があります。私はこの単純なデータフレームを持っています。私は計算したい何各行の列の平均を計算する
df = data.frame(id=c("A","B","C","D"),
x1=c(3,5,7,2), x2= c(5,3,7,3), x3=c(5,6,4,4), x4=c(5,3,7,3),
x5=c(5,3,7,3), x6=c(5,4,7,1), x7= c(5,7,7,3), x8= c(5,3,8,3),
x9= c(4,3,2,3))
は、すべての4列目の手段である(例:各個人などについて、X1、X4、X7、各個人とx2、X5の変数、X8の平均)は、新しいデータフレームとして。私の出力は次のようになるはずです。
y1 y2 y3
A 4.333333 5.000000 4.666667
B 5.000000 3.000000 4.333333
C 7.000000 7.333333 4.333333
D 2.666667 3.000000 2.666667
実際のデータフレームには、120個の変数と40個の個体があります。
以前の投稿を検索し、次のようにしてみてください。しかし、確かに私が適用する方法は間違っています。
df2<-with(df,(seq([,2], [,10], by=3)),FUN= function(x) mean(x, na.rm=TRUE))
ありがとうございました。あなたがちょうどあなたの実際のデータフレームにそれを拡張し、次のコード
new.df <- data.frame(id = c("A", "B", "C", "D"))
for (i in 2:4) {
id <- seq(i, ncol(df), 3)
new.df[, i] <- rowMeans(df[,id])
}
を使用することができます例に示したデータフレームの場合
'colMeansと
lapply
を使用することができる[配列(1、10、=による3)]'? – alistaire@ Zheyuanと@ alistaire私は質問を編集しました。これを明確にすることを願っています。 @浙江省、はい、あなたは正しいです。 – sriya