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