Comment calculer le pourcentage par groupe dans R (avec exemple)
Vous pouvez utiliser la syntaxe suivante pour calculer un pourcentage par groupe dans R :
library(dplyr)
df %>%
group_by(group_var) %>%
mutate(percent = value_var/sum(value_var))
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : calculer le pourcentage par groupe dans R
Supposons que nous ayons le bloc de données suivant qui montre les points marqués par les basketteurs de différentes équipes :
#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 A 12
2 A 29
3 A 34
4 A 14
5 A 10
6 B 11
7 B 7
8 B 36
9 B 34
10 B 22
Nous pouvons utiliser le code suivant pour créer une nouvelle colonne dans le bloc de données qui affiche le pourcentage du total des points marqués, regroupés par équipe :
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 A 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
La colonne Pourcentage indique le pourcentage du total de points marqués par ce joueur au sein de son équipe.
Par exemple, les joueurs de l’équipe A ont marqué un total de 99 points.
Ainsi, le joueur de la première ligne de la trame de données qui a marqué 12 points a marqué un total de 12/99 = 12,12 % du total des points de l’équipe A.
De même, le joueur de la deuxième ligne de la base de données qui a marqué 29 points a marqué un total de 29/99 = 29,29 % du total des points pour l’équipe A.
Et ainsi de suite.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment compter les valeurs uniques par groupe dans R
Comment calculer des statistiques récapitulatives par groupe dans R
Comment calculer la somme par groupe dans R