Функцию colMeans() в R можно использовать для вычисления среднего значения нескольких столбцов матрицы или фрейма данных в R.
Эта функция использует следующий базовый синтаксис:
#calculate column means of every column
colMeans(df)
#calculate column means and exclude NA values
colMeans(df, na. rm = T )
#calculate column means of specific columns
colMeans(df[c('col1', 'col3', 'col4')])
В следующих примерах показано, как использовать этот синтаксис на практике.
Пример 1: вычислить среднее значение каждого столбца
Следующий код показывает, как вычислить среднее значение каждого столбца во фрейме данных:
#create data frame
df <- data.frame(points=c(99, 91, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28),
blocks=c(1, 4, 11, 0, 2))
#calculate column means
colMeans(df)
points assists rebounds blocks
91.8 33.0 26.8 3.6
Пример 2 : вычислить среднее значение каждого столбца и исключить NA
Следующий код показывает, как вычислить среднее значение каждого столбца и исключить значения NA:
#create data frame with some NA values
df <- data.frame(points=c(99, 91, 86, 88, 95),
assists=c(33, NA, 31, 39, 34),
rebounds=c(30, 28, NA, NA, 28),
blocks=c(1, 4, 11, 0, 2))
#calculate column means
colMeans(df, na. rm = T )
points assists rebounds blocks
91.80000 34.25000 28.66667 3.60000
Пример 3: вычислить среднее значение определенных столбцов
В следующем коде показано, как вычислить средние значения определенных столбцов во фрейме данных:
#create data frame
df <- data.frame(points=c(99, 91, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28),
blocks=c(1, 4, 11, 0, 2))
#calculate column means for 'points' and 'blocks' columns
colMeans(df[c('points', 'blocks')])
points blocks
91.8 3.6
Обратите внимание, что мы также можем использовать значения индекса для вычисления среднего значения определенных столбцов:
#create data frame
df <- data.frame(points=c(99, 91, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28),
blocks=c(1, 4, 11, 0, 2))
#calculate column means for columns in position 1 and 4
colMeans(df[c(1, 4)])
points blocks
91.8 3.6
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные функции в R:
Как рассчитать стандартное отклонение столбцов в R
Как рассчитать среднее значение по группе в R
Как рассчитать сумму по группе в R