Comment calculer des statistiques descriptives dans R (avec exemple)
Les statistiques descriptives sont des valeurs qui décrivent un ensemble de données.
Ils nous aident à comprendre où se trouve le centre de l’ensemble de données ainsi que la répartition des valeurs dans l’ensemble de données.
Il existe deux fonctions que nous pouvons utiliser pour calculer des statistiques descriptives dans R :
Méthode 1 : utiliser la fonction summary()
summary(my_data)
La fonction summary() calcule les valeurs suivantes pour chaque variable dans un bloc de données dans R :
- Le minimum
- 1er quartile
- Médian
- Signifier
- 3e quartile
- Maximum
Méthode 2 : utiliser la fonction sapply()
sapply(my_data, sd, na.rm=TRUE)
La fonction sapply() peut être utilisée pour calculer des statistiques descriptives autres que celles calculées par la fonction summary() pour chaque variable d’un bloc de données.
Par exemple, la fonction sapply() ci-dessus calcule l’écart type de chaque variable dans un bloc de données.
L’exemple suivant montre comment utiliser ces deux fonctions pour calculer des statistiques descriptives pour les variables d’un bloc de données dans R.
Exemple : calcul de statistiques descriptives dans R
Supposons que nous ayons le bloc de données suivant dans R qui contient trois variables :
#create data frame df <- data.frame(x=c(1, 4, 4, 5, 6, 7, 10, 12), y=c(2, 2, 3, 3, 4, 5, 11, 11), z=c(8, 9, 9, 9, 10, 13, 15, 17)) #view data frame df x y z 1 1 2 8 2 4 2 9 3 4 3 9 4 5 3 9 5 6 4 10 6 7 5 13 7 10 11 15 8 12 11 17
Nous pouvons utiliser la fonction summary() pour calculer diverses statistiques descriptives pour chaque variable :
#calculate descriptive statistics for each variable
summary(df)
x y z
Min. : 1.000 Min. : 2.000 Min. : 8.00
1st Qu.: 4.000 1st Qu.: 2.750 1st Qu.: 9.00
Median : 5.500 Median : 3.500 Median : 9.50
Mean : 6.125 Mean : 5.125 Mean :11.25
3rd Qu.: 7.750 3rd Qu.: 6.500 3rd Qu.:13.50
Max. :12.000 Max. :11.000 Max. :17.00
Nous pouvons également utiliser des parenthèses pour calculer uniquement des statistiques descriptives pour des variables spécifiques dans le bloc de données :
#calculate descriptive statistics for 'x' and 'z' only summary(df[ , c('x', 'z')]) x z Min. : 1.000 Min. : 8.00 1st Qu.: 4.000 1st Qu.: 9.00 Median : 5.500 Median : 9.50 Mean : 6.125 Mean :11.25 3rd Qu.: 7.750 3rd Qu.:13.50 Max. :12.000 Max. :17.00
Nous pouvons également utiliser la fonction sapply() pour calculer des statistiques descriptives spécifiques pour chaque variable.
Par exemple, le code suivant montre comment calculer l’écart type de chaque variable :
#calculate standard deviation for each variable sapply(df, sd, na.rm=TRUE) x y z 3.522884 3.758324 3.327376
Nous pouvons également utiliser une fonction() dans sapply() pour calculer des statistiques descriptives.
Par exemple, le code suivant montre comment calculer la plage pour chaque variable :
#calculate range for each variable sapply(df, function(df) max(df, na.rm=TRUE)-min(df, na.rm=TRUE)) x y z 11 9 9
Enfin, nous pouvons créer une fonction complexe qui calcule des statistiques descriptives, puis utiliser cette fonction avec la fonction sapply() .
Par exemple, le code suivant montre comment calculer le mode de chaque variable dans le bloc de données :
#define function that calculates mode find_mode <- function(x) { u <- unique(x) tab <- tabulate(match(x, u)) u[tab == max(tab)] } #calculate mode for each variable sapply(df, find_mode) $x [1] 4 $y [1] 2 3 11 $z [1] 9
À partir du résultat, nous pouvons voir :
- Le mode de la variable x est 4 .
- Le mode de la variable y est 2 , 3 et 11 (puisque chacune de ces valeurs apparaît le plus fréquemment)
- Le mode de la variable z est 9 .
En utilisant les fonctions summary() et sapply() , nous pouvons calculer toutes les statistiques descriptives que nous souhaitons pour chaque variable d’un bloc de données.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment créer des tableaux récapitulatifs dans R
Comment trouver l’intervalle interquartile dans R
Comment supprimer les valeurs aberrantes dans R