R で複数の列の平均を計算する方法


多くの場合、R の複数の列の平均を計算したいことがあります。幸いなことに、 colMeans()関数を使用すると、これを簡単に実行できます。

 colMeans(df)

次の例は、この関数を実際に使用する方法を示しています。

ColMeans() を使用して複数の列の平均を求める

次のコードは、 colMeans()関数を使用してデータ フレーム内の各列の平均を見つける方法を示しています。

 #create data frame
df <- data.frame(var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, 9))

#find mean of each column
colMeans(df)

var1 var2 var3 var4 
 3.2 5.4 5.2 4.2 

平均を求めるを指定することもできます。

 #find the mean of columns 2 and 3
colMeans(df[, c(2, 3)])

var2 var3 
 5.4 5.2 

#find the mean of the first three columns
colMeans(df[, 1:3])

var1 var2 var3 
 3.2 5.4 5.2

数値ではない列がある場合は、 sapply()を使用して、数値列の平均のみを求めるように指定できます。

 #create data frame
df <- data.frame(var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, 9),
                 var5=c('a', 'a', 'b', 'b', 'c'))

#find mean of only numeric columns
colMeans(df[ sapply (df, is.numeric)])

var1 var2 var3 var4 
 3.2 5.4 5.2 4.2

また、いずれかの列に欠損値がある場合は、 na.rm=TRUE引数を使用して、平均を計算するときに欠損値を無視できます。

 #create data frame with some missing values
df <- data.frame(var1=c(1, 3, NA, NA, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, NA))

#find mean of each column and ignore missing values
colMeans(df, na.rm= TRUE )

var1 var2 var3 var4 
 3.0 5.4 5.2 3.0

追加リソース

R で列名を反復処理する方法
R で特定の列を合計する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です