Le guide complet : Comment regrouper & Résumer les données dans R



Deux des tâches les plus courantes que vous effectuerez lors de l’analyse des données sont le regroupement et la synthèse des données.

Heureusement, le package dplyr dans R vous permet de regrouper et de résumer rapidement les données.

Ce didacticiel fournit un guide rapide pour démarrer avec dplyr.

Installer et charger le package dplyr

Avant de pouvoir utiliser les fonctions du package dplyr, vous devez d’abord charger le package :

#install dplyr (if not already installed)
install.packages('dplyr')

#load dplyr 
library(dplyr)

Ensuite, nous illustrerons plusieurs exemples d’utilisation des fonctions de dplyr pour regrouper et résumer des données à l’aide de l’ensemble de données R intégré appelé mtcars :

#obtain rows and columns of mtcars
dim(mtcars)

[1] 32 11

#view first six rows of mtcars
head(mtcars)

                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

La syntaxe de base que nous utiliserons pour regrouper et résumer les données est la suivante :

data %>%
  group_by(col_name) %>%
  summarize(summary_name = summary_function)

Remarque : Les fonctions summary() et summarise() sont équivalentes.

Exemple 1 : Trouver la moyenne et la médiane par groupe

Le code suivant montre comment calculer les mesures de tendance centrale par groupe incluant la moyenne et la médiane :

#find mean mpg by cylinder
mtcars %>%
  group_by(cyl) %>%
  summarize(mean_mpg = mean(mpg, na.rm = TRUE))

# A tibble: 3 x 2
    cyl mean_mpg
      
1     4     26.7
2     6     19.7
3     8     15.1

#find median mpg by cylinder
mtcars %>%
  group_by(cyl) %>%
  summarize(median_mpg = median(mpg, na.rm = TRUE))

# A tibble: 3 x 2
    cyl median_mpg
        
1     4       26  
2     6       19.7
3     8       15.2

Exemple 2 : Trouver des mesures de propagation par groupe

Le code suivant montre comment calculer les mesures de dispersion par groupe, y compris l’écart type, l’intervalle interquartile et l’écart médian absolu :

#find sd, IQR, and mad by cylinder
mtcars %>%
  group_by(cyl) %>%
  summarize(sd_mpg = sd(mpg, na.rm = TRUE),
            iqr_mpg = IQR(mpg, na.rm = TRUE),
            mad_mpg = mad(mpg, na.rm = TRUE))

# A tibble: 3 x 4
    cyl sd_mpg iqr_mpg mad_mpg
          
1     4   4.51    7.60    6.52
2     6   1.45    2.35    1.93
3     8   2.56    1.85    1.56

Exemple 3 : Rechercher le nombre par groupe

Le code suivant montre comment trouver le nombre et le nombre unique par groupe dans R :

#find row count and unique row count by cylinder
mtcars %>%
  group_by(cyl) %>%
  summarize(count_mpg = n(),
            u_count_mpg = n_distinct(mpg))

# A tibble: 3 x 3
    cyl count_mpg u_count_mpg
              
1     4        11           9
2     6         7           6
3     8        14          12

Exemple 4 : Rechercher un centile par groupe

Le code suivant montre comment trouver le 90e centile des valeurs mpg par groupe de cylindres :

#find 90th percentile of mpg for each cylinder group
mtcars %>%
  group_by(cyl) %>%
  summarize(quant90 = quantile(mpg, probs = .9))

# A tibble: 3 x 2
    cyl quant90
     
1     4    32.4
2     6    21.2
3     8    18.3

Ressources additionnelles

Vous pouvez trouver la documentation complète du package dplyr ainsi que des aide-mémoire utiles pour visualiser ici .

D’autres fonctions utiles que vous pouvez utiliser avec group_by() et summary() incluent des fonctions permettant de filtrer les lignes du bloc de données et de les organiser dans certains ordres .

Ajouter un commentaire

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