Kompletny przewodnik: jak używać funkcji aggregate() w języku r
Funkcja Aggregate() w języku R może służyć do obliczania statystyk podsumowujących dla zbioru danych.
Ta funkcja wykorzystuje następującą podstawową składnię:
agregat(x, by, ZABAWA)
Złoto:
- x : Zmienna do agregacji
- by : Lista zmiennych, według których można grupować
- ZABAWA : Statystyka podsumowująca do obliczenia
Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję z następującą ramką danych w 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
Przykład 1: Ogólna średnia na grupę
Poniższy kod pokazuje, jak używać funkcji Aggregate() do obliczenia średniej liczby punktów zdobytych przez drużynę:
#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
To nam mówi:
- Zawodnicy drużyny A zdobywali średnio 91,67 punktów na mecz.
- Zawodnicy drużyny B zdobywali średnio 94 punkty na mecz.
Pamiętaj, że możesz także zmienić nazwy kolumn w wynikach za pomocą funkcji 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
Przykład 2: Zagregowane konto według grup
Poniższy kod pokazuje, jak używać funkcji Aggregate() do zliczania liczby graczy w drużynie:
#count number of players per team
aggregate(df$points, by=list(df$team), FUN=length)
Group.1 x
1 to 3
2 B 3
To nam mówi:
- Drużyna A składa się z 3 zawodników.
- Drużyna B składa się z 3 zawodników.
Przykład 3: Całkowita suma na grupę
Poniższy kod pokazuje, jak użyć funkcji Aggregate() do obliczenia sumy punktów zdobytych przez każdą drużynę:
#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
To nam mówi:
- Zespół A zdobył łącznie 275 punktów.
- Zespół B zdobył łącznie 282 punkty.
Przykład 4: Agregowanie wielu kolumn
Poniższy kod pokazuje, jak używać funkcji Aggregate() do znalezienia średniej liczby zdobytych punktów, pogrupowanych według drużyny i pozycji:
#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
To nam mówi:
- Gracze na pozycji „F” w drużynie A zdobyli średnio 86 punktów.
- Zawodnicy drużyny B na pozycji „F” zdobyli średnio 97 punktów.
- Zawodnicy na pozycji „G” w drużynie A zdobywali średnio 94,5 punktu.
- Zawodnicy na pozycji „G” w drużynie B zdobyli średnio 88 punktów.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak korzystać z innych typowych funkcji w R:
Jak korzystać z funkcji table() w R
Jak korzystać z funkcji gsub() w R
Jak korzystać z funkcji podsumowania() w R