Comment utiliser « N’est pas NA » ? dans R



Vous pouvez utiliser la syntaxe suivante pour renvoyer des valeurs dans R qui ne sont pas des valeurs NA :

#return only values that are not NA
x <- x[!is.na(x)]

Les exemples suivants montrent comment utiliser cette syntaxe avec à la fois des vecteurs et des trames de données dans R.

Exemple 1 : valeurs de retour qui ne sont pas NA dans le vecteur

Le code suivant montre comment renvoyer les valeurs d’un vecteur qui ne sont pas NA :

#create vector
x <- c(1, 24, NA, 6, NA, 9)

#return only values that are not NA
x <- x[!is.na(x)]

[1]  1 24  6  9

Exemple 2 : renvoyer des lignes qui ne sont pas NA dans une colonne du bloc de données

Le code suivant montre comment renvoyer les lignes d’un bloc de données qui n’ont pas de valeur NA dans une colonne spécifique :

#create 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 in z column
df <- df[!(is.na(df$z)), ]

#view data frame
df

   x  y  z
2 24  3  7
3 NA  4  5
4  6  8 15
5 NA NA  7
6  9 12 14

Exemple 3 : renvoyer des lignes qui ne sont pas NA dans plusieurs colonnes

Le code suivant montre comment renvoyer les lignes d’un bloc de données qui n’ont pas de valeur NA dans l’une des nombreuses colonnes spécifiques :

#create 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 in x or y column
df <- df[!(is.na(df$x)) & !(is.na(df$y)), ]

#view data frame
df

   x  y  z
2 24  3  7
4  6  8 15
6  9 12 14

Exemple 4 : renvoyer les lignes qui ne sont pas NA dans n’importe quelle colonne

Le code suivant montre comment renvoyer les lignes d’un bloc de données qui n’ont de valeur NA dans aucune colonne :

#create 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 in any column
df <- na.omit(df)

#view data frame
df

   x  y  z
2 24  3  7
4  6  8 15
6  9 12 14

Ressources additionnelles

Comment remplacer les NA par des chaînes dans R
Comment imputer les valeurs manquantes dans R

Ajouter un commentaire

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