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

Ajouter un commentaire

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