Comment utiliser na.omit dans R (avec exemples)
Vous pouvez utiliser la fonction na.omit() dans R pour supprimer tous les cas incomplets dans un vecteur, une matrice ou un bloc de données.
Cette fonction utilise la syntaxe de base suivante :
#omit NA values from vector x <- na.omit(x) #omit rows with NA in any column of data frame df <- na.omit(df) #omit rows with NA in specific column of data frame df <- df[!(is.na(df$column)), ]
Les exemples suivants montrent comment utiliser cette fonction dans la pratique.
Exemple 1 : Omettre les valeurs NA du vecteur
Le code suivant montre comment omettre toutes les valeurs NA d’un vecteur :
#define vector x <- c(1, 24, NA, 6, NA, 9) #omit NA values from vector x <- na.omit(x) x [1] 1 24 6 9 attr(,"na.action") [1] 3 5 attr(,"class") [1] "omit"
La première ligne de la sortie affiche le vecteur sans valeurs NA tandis que les deux lignes suivantes affichent des informations supplémentaires sur l’emplacement des valeurs NA.
Nous pouvons utiliser le code suivant pour renvoyer simplement le vecteur sans les valeurs NA :
#define vector x <- c(1, 24, NA, 6, NA, 9) #omit NA values from vector x <- as.numeric(na.omit(x)) x [1] 1 24 6 9
Exemple 2 : Omettre les lignes avec NA dans n’importe quelle colonne du bloc de données
Le code suivant montre comment omettre toutes les lignes avec des valeurs NA dans n’importe quelle colonne d’un bloc de données :
#define data frame df <- data.frame(x=c(1, 24, NA, 6, NA, 9), y=c(NA, 3, 4, 8, NA, 12), z=c(NA, 7, 5, 15, 7, 14)) #view data frame df x y z 1 1 NA NA 2 24 3 7 3 NA 4 5 4 6 8 15 5 NA NA 7 6 9 12 14 #omit rows with NA value in any column data frame df <- na.omit(df) #view data frame df x y z 2 24 3 7 4 6 8 15 6 9 12 14
Exemple 3 : Omettre les lignes avec NA dans une colonne spécifique du bloc de données
Pour omettre les lignes avec des valeurs NA dans une colonne spécifique d’un bloc de données, il est en fait plus facile d’utiliser la fonction is.na() comme suit :
#define data frame df <- data.frame(x=c(1, 24, NA, 6, NA, 9), y=c(NA, 3, 4, 8, NA, 12), z=c(NA, 7, 5, 15, 7, 14)) #view data frame df x y z 1 1 NA NA 2 24 3 7 3 NA 4 5 4 6 8 15 5 NA NA 7 6 9 12 14 #remove rows with NA value in x column df <- df[!(is.na(df$x)), ] #view data frame df x y z 1 1 NA NA 2 24 3 7 4 6 8 15 6 9 12 14
Ressources additionnelles
Comment utiliser « Is Not NA » dans R
Comment utiliser is.null dans R
Comment imputer les valeurs manquantes dans R
Comment remplacer les NA par des chaînes dans R