Мы можем использовать функцию агрегата () в 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