Повний посібник: як використовувати функцію aggregate() у r
Функцію Aggregate() у R можна використовувати для обчислення підсумкової статистики для набору даних.
Ця функція використовує такий базовий синтаксис:
aggregate(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 очка за гру.
- Гравці команди B набирали в середньому 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 очок.
- Гравці команди B на позиції «F» набрали в середньому 97 очок.
- Гравці на позиції «G» у команді А набрали в середньому 94,5 очка.
- Гравці на позиції «G» у команді B набирали в середньому 88 очок.
Додаткові ресурси
У наступних посібниках пояснюється, як використовувати інші поширені функції в R:
Як використовувати функцію table() у R
Як використовувати функцію gsub() у R
Як використовувати функцію summary() у R