2017-12-04 8 views
0

値。
それぞれの観測について、私は5つの変数を得ました。ここでは、これらの5つの変数から集計された新しい変数を作成したいと考えています。
は、私は、次を入力:集計およびNAは、私が1000の観測とデータフレームを持っている

df$aggr_variable <- (1/5)*(var1+var2+var3+var4+var5) 

私は、新しい集計変数、だけでなく、問題を得ました。観測839はvar2に欠損値NAを得たとしましょう、それでも他の4つの変数の値ならば、それは私に集約された変数でNAを与えます。

は、どのように私は1つの変数は、NAが含まれている場合、全体の観察を除外することなく、NAの5つの変数のうちを残すことができますか?

+3

'DF $ aggr_variable < - rowMeans(DF、na.rm = TRUE)' – PoGibas

+0

素敵な、それは動作しますが、THX!今、私はvar 1、var3、およびvar4を集計したい場合、どのようにこれらを使用し、var2とvar5を残すことができますか? rowMeansは、すべての手段を使用していますので、これは... –

+0

'rowMeansうまくいかないでしょう(サブセット(DF、選択= cで( "VAR1"、 "VAR3" を、 "VAR4"))、na.rm = TRUE)' – PoGibas

答えて

0

はあなたの集計式によれば、あなたは、各サンプル(行)のためにこれらの5つの変数の平均値を計算しています。

#some reproduciable data 
df <- data.frame(var1=rnorm(20,10,5),var2=rnorm(20,5,1),var3=rnorm(20,30,1), 
       var4=rnorm(20,0,1),var5=rnorm(20,3,3)) 
#generates some NAs: 
df[11,5] <- NA 
df[8,3] <- NA 
df[9,1] <- NA 
df[17,2] <- NA 
df[11,2] <- NA 

#aggregate by mean 
df$aggr_variable <- apply(df,1,function(x){mean(x,na.rm=T)}) 
関連する問題