Cara menghitung rata-rata beberapa kolom di r


Seringkali Anda mungkin ingin menghitung rata-rata beberapa kolom di R. Untungnya, Anda dapat dengan mudah melakukannya menggunakan fungsi colMeans() .

 colMeans(df)

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Menggunakan colMeans() untuk menemukan rata-rata beberapa kolom

Kode berikut menunjukkan cara menggunakan fungsi colMeans() untuk mencari rata-rata setiap kolom dalam bingkai data:

 #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 

Kami juga dapat menentukan kolom mana yang akan dicari rata-ratanya:

 #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

Jika ada kolom yang bukan numerik, Anda dapat menggunakan sapply() untuk menentukan bahwa Anda hanya ingin mencari rata-rata kolom numerik:

 #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

Dan jika ada nilai yang hilang di kolom mana pun, Anda dapat menggunakan argumen na.rm=TRUE untuk mengabaikan nilai yang hilang saat menghitung rata-rata:

 #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

Sumber daya tambahan

Cara mengulangi nama kolom di R
Cara menjumlahkan kolom tertentu di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *