Comment utiliser na.rm dans R (avec exemples)
Vous pouvez utiliser l’argument na.rm = TRUE pour exclure les valeurs manquantes lors du calcul des statistiques descriptives dans R.
#calculate mean and exclude missing values mean(x, na.rm = TRUE) #calculate sum and exclude missing values sum(x, na.rm = TRUE) #calculate maximum and exclude missing values max(x, na.rm = TRUE) #calculate standard deviation and exclude missing values sd(x, na.rm = TRUE)
Les exemples suivants montrent comment utiliser cet argument en pratique avec des vecteurs et des trames de données.
Exemple 1 : utiliser na.rm avec des vecteurs
Supposons que nous essayions de calculer la moyenne, la somme, le maximum et l’écart type du vecteur suivant dans R qui contient des valeurs manquantes :
#define vector with some missing values
x <- c(3, 4, 5, 5, 7, NA, 12, NA, 16)
mean(x)
[1] NA
sum(x)
[1] NA
max(x)
[1] NA
sd(x)
[1] NA
Chacune de ces fonctions renvoie une valeur de NA .
Pour exclure les valeurs manquantes lors de l’exécution de ces calculs, nous pouvons simplement inclure l’argument na.rm = TRUE comme suit :
#define vector with some missing values x <- c(3, 4, 5, 5, 7, NA, 12, NA, 16) mean(x, na.rm = TRUE) [1] 7.428571 sum(x, na.rm = TRUE) [1] 52 max(x, na.rm = TRUE) [1] 16 sd(x, na.rm = TRUE) [1] 4.790864
Notez que nous avons pu effectuer chaque calcul avec succès tout en excluant les valeurs manquantes.
Exemple 2 : utiliser na.rm avec des trames de données
Supposons que nous ayons le bloc de données suivant dans R qui contient des valeurs manquantes :
#create data frame df <- data.frame(var1=c(1, 3, 3, 4, 5), var2=c(7, 7, NA, 3, 2), var3=c(3, 3, NA, 6, 8), var4=c(1, 1, 2, 8, NA)) #view data frame df var1 var2 var3 var4 1 1 7 3 1 2 3 7 3 1 3 3 NA NA 2 4 4 3 6 8 5 5 2 8 NA
Nous pouvons utiliser la fonction apply() pour calculer des statistiques descriptives pour chaque colonne du bloc de données et utiliser l’argument na.rm = TRUE pour exclure les valeurs manquantes lors de l’exécution de ces calculs :
#calculate mean of each column
apply(df, 2, mean, na.rm = TRUE)
var1 var2 var3 var4
3.20 4.75 5.00 3.00
#calculate sum of each column
apply(df, 2, sum, na.rm = TRUE)
var1 var2 var3 var4
16 19 20 12
#calculate max of each column
apply(df, 2, max, na.rm = TRUE)
var1 var2 var3 var4
5 7 8 8
#calculate standard deviation of each column
apply(df, 2, sd, na.rm = TRUE)
var1 var2 var3 var4
1.483240 2.629956 2.449490 3.366502
Encore une fois, nous avons pu réaliser chaque calcul avec succès tout en excluant les valeurs manquantes.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes avec des valeurs manquantes dans R :
Comment utiliser is.null dans R
Comment utiliser na.omit dans R
Comment utiliser is.na dans R