Как вычислить среднее значение нескольких столбцов в 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.