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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *