dplyr : Comment Calculer des Statistiques Descriptives sur Plusieurs Colonnes



dplyr : Comment Calculer des Statistiques Descriptives sur Plusieurs Colonnes

Cet article décrit comment calculer des statistiques descriptives, telles que la moyenne, l’écart types, les quantiles, sur plusieurs colonnes numériques.

Fonctions et packages R clés

Le package dplyr [v>= 1.0.0] est requis. Nous utiliserons la fonction across() pour faire des calculs sur plusieurs colonnes.

Utilisation:

across(.cols = everything(), .fns = NULL, ..., .names = NULL)
  • .cols: Colonnes sur lesquelles vous voulez opérer. Vous pouvez choisir des colonnes par position, nom, fonction du nom, type ou toute combinaison de ceux-ci en utilisant des opérateurs booléens.
  • .fns: Fonction ou liste de fonctions à appliquer à chaque colonne.
  • ...: Arguments supplémentaires pour les appels de fonction dans les .fns.
  • .names: Une spécification de la colle qui décrit comment nommer les colonnes de sortie. Il peut utiliser {col} pour le nom de la colonne sélectionnée, et {fn} pour le nom de la fonction appliquée. La valeur par défaut (NULL) est équivalente à "{col}" pour le cas d’une fonction unique et à "{col}_{fn}" pour le cas où une liste est utilisée pour .fns.
# Charger les packages R requis
library(dplyr)

# Préparation des données
df <- as_tibble(iris)
head(df)
## # A tibble: 6 x 5
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
##          <dbl>       <dbl>        <dbl>       <dbl> <fct>  
## 1          5.1         3.5          1.4         0.2 setosa 
## 2          4.9         3            1.4         0.2 setosa 
## 3          4.7         3.2          1.3         0.2 setosa 
## 4          4.6         3.1          1.5         0.2 setosa 
## 5          5           3.6          1.4         0.2 setosa 
## 6          5.4         3.9          1.7         0.4 setosa
# Calculer la moyenne de plusieurs colonnes
df %>%
  group_by(Species) %>%
  summarise(across(Sepal.Length:Petal.Length, mean, na.rm= TRUE))
## # A tibble: 3 x 4
##   Species    Sepal.Length Sepal.Width Petal.Length
## * <fct>             <dbl>       <dbl>        <dbl>
## 1 setosa             5.01        3.43         1.46
## 2 versicolor         5.94        2.77         4.26
## 3 virginica          6.59        2.97         5.55
# Calculer la moyenne et le sd de toutes les colonnes numériques
df %>%
  group_by(Species) %>%
  summarise(across(
    .cols = is.numeric, 
    .fns = list(Mean = mean, SD = sd), na.rm = TRUE, 
    .names = "{col}_{fn}"
    ))
## # A tibble: 3 x 9
##   Species Sepal.Length_Me… Sepal.Length_SD Sepal.Width_Mean Sepal.Width_SD Petal.Length_Me… Petal.Length_SD
## * <fct>              <dbl>           <dbl>            <dbl>          <dbl>            <dbl>           <dbl>
## 1 setosa              5.01           0.352             3.43          0.379             1.46           0.174
## 2 versic…             5.94           0.516             2.77          0.314             4.26           0.470
## 3 virgin…             6.59           0.636             2.97          0.322             5.55           0.552
## # … with 2 more variables: Petal.Width_Mean <dbl>, Petal.Width_SD <dbl>


Version: English





No Comments

Give a comment

Want to post an issue with R? If yes, please make sure you have read this: How to Include Reproducible R Script Examples in Datanovia Comments