Как использовать функцию colMeans() в R


Функцию 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

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