Hoe percentage per groep in r te berekenen (met voorbeeld)
U kunt de volgende syntaxis gebruiken om een percentage per groep in R te berekenen:
library (dplyr)
df %>%
group_by(group_var) %>%
mutate(percent = value_var/sum(value_var))
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Bereken het percentage per groep in R
Stel dat we het volgende gegevensframe hebben dat de punten weergeeft die zijn gescoord door basketbalspelers van verschillende teams:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'),
points=c(12, 29, 34, 14, 10, 11, 7, 36, 34, 22))
#view data frame
df
team points
1 to 12
2 to 29
3 to 34
4 to 14
5 to 10
6 B 11
7 B 7
8 B 36
9 B 34
10 B 22
We kunnen de volgende code gebruiken om een nieuwe kolom in het gegevensframe te maken die het percentage van het totaal aantal gescoorde punten weergeeft, gegroepeerd per team:
library (dplyr) #calculate percentage of points scored, grouped by team df %>% group_by(team) %>% mutate(percent = points/sum(points)) # A tibble: 10 x 3 # Groups: team [2] team points percent 1 to 12 0.121 2 A 29 0.293 3 A 34 0.343 4 A 14 0.141 5 A 10 0.101 6 B 11 0.1 7 B 7 0.0636 8 B 36 0.327 9 B 34 0.309 10 B 22 0.2
De kolom Percentage geeft het percentage van het totaal aantal punten aan dat deze speler in zijn team heeft gescoord.
Spelers van Team A scoorden bijvoorbeeld in totaal 99 punten.
Dus de speler in de eerste rij van het dataframe die 12 punten scoorde, scoorde in totaal 12/99 = 12,12% van het totale aantal punten van team A.
Op dezelfde manier scoorde de speler op de tweede rij in de database die 29 punten scoorde een totaal van 29/99 = 29,29% van het totaal aantal punten voor team A.
Enzovoort.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe unieke waarden per groep te tellen in R
Hoe samenvattende statistieken per groep te berekenen in R
Hoe de som per groep in R te berekenen