De complete gids: de functie aggregate() gebruiken in r
De functie Aggregate() in R kan worden gebruikt om samenvattende statistieken voor een reeks gegevens te berekenen.
Deze functie gebruikt de volgende basissyntaxis:
aggregaat(x, door, FUN)
Goud:
- x : Een variabele om te aggregeren
- by : Een lijst met variabelen waarop u wilt groeperen
- FUN : De samenvattende statistiek om te berekenen
De volgende voorbeelden laten zien hoe u deze functie in de praktijk kunt gebruiken met het volgende dataframe in 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
Voorbeeld 1: Totaalgemiddelde per groep
De volgende code laat zien hoe u de functie Aggregate() gebruikt om het gemiddelde aantal gescoorde punten per team te berekenen:
#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
Dit vertelt ons:
- Spelers van team A scoorden gemiddeld 91,67 punten per wedstrijd.
- Spelers van team B scoorden gemiddeld 94 punten per wedstrijd.
Merk op dat u de kolomnamen in de uitvoer ook kunt wijzigen met behulp van de colnames() functie:
#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
Voorbeeld 2: Geaggregeerde rekening per groep
De volgende code laat zien hoe u de functie Aggregate() gebruikt om het aantal spelers per team te tellen:
#count number of players per team
aggregate(df$points, by=list(df$team), FUN=length)
Group.1 x
1 to 3
2 B 3
Dit vertelt ons:
- Team A bestaat uit 3 spelers.
- Team B bestaat uit 3 spelers.
Voorbeeld 3: Totaalbedrag per groep
De volgende code laat zien hoe u de functie Aggregate() gebruikt om de som van de door elk team gescoorde punten te berekenen:
#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
Dit vertelt ons:
- Team A scoorde in totaal 275 punten.
- Team B scoorde in totaal 282 punten.
Voorbeeld 4: Voeg meerdere kolommen samen
De volgende code laat zien hoe u de functie Aggregate() gebruikt om het gemiddelde aantal gescoorde punten te vinden, gegroepeerd op team en positie:
#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
Dit vertelt ons:
- Spelers in positie “F” van team A scoorden gemiddeld 86 punten.
- De spelers op de “F”-positie van team B scoorden gemiddeld 97 punten.
- Spelers in de “G”-positie van team A scoorden gemiddeld 94,5 punten.
- Spelers in de “G”-positie van team B scoorden gemiddeld 88 punten.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies in R kunt gebruiken:
Hoe de functie table() in R te gebruiken
Hoe de gsub()-functie in R te gebruiken
Hoe de summary()-functie in R te gebruiken