Полное руководство: как использовать функцию 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *