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