Полное руководство: как использовать функцию aggregate() в r
Функцию Aggregate() в R можно использовать для расчета сводной статистики для набора данных.
Эта функция использует следующий базовый синтаксис:
совокупность(x, by, FUN)
Золото:
- x : переменная для агрегирования
- by : список переменных для группировки по
- FUN : сводная статистика для расчета
Следующие примеры показывают, как использовать эту функцию на практике со следующим фреймом данных в R:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), position=c('G', 'G', 'F', 'G', 'F', 'F'), points=c(99, 90, 86, 88, 95, 99), assists=c(33, 28, 31, 39, 34, 23), rebounds=c(30, 28, 24, 24, 28, 33)) #view data frame df team position points assists rebounds 1 AG 99 33 30 2 AG 90 28 28 3 AF 86 31 24 4 BG 88 39 24 5 BF 95 34 28 6 BF 99 23 33
Пример 1: Общий средний показатель по группе
Следующий код показывает, как использовать функцию Aggregate() для расчета среднего количества очков, набранных каждой командой:
#find mean points by team
aggregate(df$points, by=list(df$team), FUN=mean)
Group.1 x
1 A 91.66667
2 B 94.00000
Это говорит нам:
- Игроки команды А набирали в среднем 91,67 очка за игру.
- Игроки команды Б набирали в среднем 94 очка за игру.
Обратите внимание, что вы также можете изменить имена столбцов в выводе, используя функцию colnames() :
#find mean points by team agg <- aggregate(df$points, by=list(df$team), FUN=mean) #rename columns in output colnames(agg) <- c(' Team ', ' Mean_Points ') #viewoutput agg Team Mean_Points 1 A 91.66667 2 B 94.00000
Пример 2: Объединенный аккаунт по группам
Следующий код показывает, как использовать функцию Aggregate() для подсчета количества игроков в команде:
#count number of players per team
aggregate(df$points, by=list(df$team), FUN=length)
Group.1 x
1 to 3
2 B 3
Это говорит нам:
- Команда А состоит из 3 игроков.
- Команда Б состоит из 3 игроков.
Пример 3: Общая сумма на группу
Следующий код показывает, как использовать функцию Aggregate() для расчета суммы очков, набранных каждой командой:
#find sum of points scored by team
aggregate(df$points, by=list(df$team), FUN=sum)
Group.1 x
1 to 275
2 B 282
Это говорит нам:
- Команда А набрала в общей сложности 275 очков.
- Команда Б набрала в общей сложности 282 очка.
Пример 4. Объединение нескольких столбцов
Следующий код показывает, как использовать функцию Aggregate() для определения среднего количества набранных очков, сгруппированных по командам и позициям:
#find mean of points scored, grouped by team and position
aggregate(df$points, by=list(df$team, df$position), FUN=mean)
Group.1 Group.2 x
1AF 86.0
2 BF 97.0
3 AG 94.5
4 BG 88.0
Это говорит нам:
- Игроки на позиции «F» в команде А набирали в среднем 86 очков.
- Игроки команды Б на позиции «F» набирали в среднем 97 очков.
- Игроки на позиции «G» в команде А набирали в среднем 94,5 очка.
- Игроки на позиции «G» в команде «Б» набирали в среднем 88 очков.
Дополнительные ресурсы
В следующих руководствах объясняется, как использовать другие распространенные функции в R:
Как использовать функцию table() в R
Как использовать функцию gsub() в R
Как использовать функцию summary() в R