Как объединить несколько столбцов в R (с примерами)


Мы можем использовать функцию агрегата () в R для получения сводной статистики для одной или нескольких переменных во фрейме данных.

Эта функция использует следующий базовый синтаксис:

агрегат (переменная_суммы ~ переменная_группы, данные = df, FUN = среднее)

куда:

  • sum_var: переменная для суммирования
  • group_var: переменная для группировки
  • data: имя фрейма данных
  • FUN: сводная статистика для вычисления

В этом руководстве представлено несколько примеров использования этой функции для одновременной агрегации одного или нескольких столбцов в R на примере следующего фрейма данных:

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C'),
 conf=c('E', 'E', 'W', 'W', 'W', 'W', 'W', 'W'),
 points=c(1, 3, 3, 4, 5, 7, 7, 9),
 rebounds=c(7, 7, 8, 3, 2, 7, 14, 13))

#view data frame
df

 team conf points rebounds
1 A E 1 7
2 A E 3 7
3 A W 3 8
4 B W 4 3
5 B W 5 2
6 B W 7 7
7 C W 7 14
8 C W 9 13

Пример 1: суммирование одной переменной и группировка по одной переменной

Следующий код показывает, как найти средние набранные очки, сгруппированные по командам:

#find mean points scored, grouped by team
aggregate(points ~ team, data = df, FUN = mean, na. rm = TRUE )

 team points
1 A 2.333333
2 B 5.333333
3 C 8.000000

Пример 2: суммирование одной переменной и группировка по нескольким переменным

В следующем коде показано, как найти средние набранные очки, сгруппированные по командам и конференциям:

#find mean points scored, grouped by team and conference
aggregate(points ~ team + conf, data = df, FUN = mean, na. rm = TRUE )

 team conf points
1 A E 2.000000
2 A W 3.000000
3 B W 5.333333
4 C W 8.000000

Пример 3: суммирование нескольких переменных и группировка по одной переменной

Следующий код показывает, как найти среднее количество очков и среднее количество подборов, сгруппированных по командам:

#find mean points scored, grouped by team and conference
aggregate( cbind (points,rebounds) ~ team, data = df, FUN = mean, na. rm = TRUE )

 team points rebounds
1 A 2.333333 7.333333
2 B 5.333333 4.000000
3 C 8.000000 13.500000

Пример 4: суммирование нескольких переменных и группировка по нескольким переменным

Следующий код показывает, как найти средние очки и средние подборы, сгруппированные по командам и конференциям:

#find mean points scored, grouped by team and conference
aggregate( cbind (points,rebounds) ~ team + conf, data = df, FUN = mean, na. rm = TRUE )

 team conf points rebounds
1 A E 2.000000 7.0
2 A W 3.000000 8.0
3 B W 5.333333 4.0
4 C W 8.000000 13.5

Дополнительные ресурсы

Как вычислить среднее значение нескольких столбцов в R
Как суммировать определенные столбцы в R
Как суммировать определенные строки в R

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