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