Comment calculer des statistiques récapitulatives dans R à l’aide de dplyr
Vous pouvez utiliser la syntaxe suivante pour calculer des statistiques récapitulatives pour toutes les variables numériques d’un bloc de données dans R à l’aide des fonctions du package dplyr :
library(dplyr) library(tidyr) df %>% summarise(across(where(is.numeric), .fns = list(min = min, median = median, mean = mean, stdev = sd, q25 = ~quantile(., 0.25), q75 = ~quantile(., 0.75), max = max))) %>% pivot_longer(everything(), names_sep='_', names_to=c('variable', '.value'))
La fonction summarise() provient du package dplyr et est utilisée pour calculer des statistiques récapitulatives pour les variables.
La fonction pivot_longer() provient du package Tidyr et est utilisée pour formater la sortie afin de la rendre plus facile à lire.
Cette syntaxe particulière calcule les statistiques récapitulatives suivantes pour chaque variable numérique dans un bloc de données :
- Valeur minimum
- Valeur médiane
- Valeur moyenne
- Écart-type
- 25e centile
- 75e centile
- Valeur maximum
L’exemple suivant montre comment utiliser cette fonction dans la pratique.
Exemple : calculer des statistiques récapitulatives dans R à l’aide de dplyr
Supposons que nous ayons le bloc de données suivant dans R qui contient des informations sur divers joueurs de basket-ball :
#create data frame df <- data.frame(team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), points=c(12, 15, 19, 14, 24, 25, 39, 34), assists=c(6, 8, 8, 9, 12, 6, 8, 10), rebounds=c(9, 9, 8, 10, 8, 4, 3, 3)) #view data frame df team points assists rebounds 1 A 12 6 9 2 A 15 8 9 3 A 19 8 8 4 A 14 9 10 5 B 24 12 8 6 B 25 6 4 7 B 39 8 3 8 B 34 10 3
Nous pouvons utiliser la syntaxe suivante pour calculer des statistiques récapitulatives pour chaque variable numérique du bloc de données :
library(dplyr) library(tidyr) #calculate summary statistics for each numeric variable in data frame df %>% summarise(across(where(is.numeric), .fns = list(min = min, median = median, mean = mean, stdev = sd, q25 = ~quantile(., 0.25), q75 = ~quantile(., 0.75), max = max))) %>% pivot_longer(everything(), names_sep='_', names_to=c('variable', '.value')) # A tibble: 3 x 8 variable min median mean stdev q25 q75 max 1 points 12 21.5 22.8 9.74 14.8 27.2 39 2 assists 6 8 8.38 2.00 7.5 9.25 12 3 rebounds 3 8 6.75 2.92 3.75 9 10
À partir du résultat, nous pouvons voir :
- La valeur minimale dans la colonne des points est 12 .
- La valeur médiane dans la colonne des points est de 21,5 .
- La valeur moyenne dans la colonne des points est de 22,8 .
Et ainsi de suite.
Remarque : Dans cet exemple, nous avons utilisé la fonction dplyr across() . Vous pouvez trouver la documentation complète de cette fonction ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes à l’aide de dplyr :
Comment résumer les données mais conserver toutes les colonnes à l’aide de dplyr
Comment résumer plusieurs colonnes à l’aide de dplyr
Comment calculer l’écart type à l’aide de dplyr