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