web-dev-qa-db-fra.com

Comment supprimer une ligne si elle a une valeur NA dans une certaine colonne

Mes données appelées "dat":

A   B   C
NA  2   NA
1   2   3
1   NA  3
1   2   3

Je veux que toutes les lignes soient supprimées s'il y a un NA dans la colonne B:

A   B   C
NA  2   NA
1   2   3
1   2   3

na.omit (dat) supprime toutes les lignes avec un NA, pas seulement celles où le NA est dans la colonne B.

De plus, j'aimerais savoir comment procéder pour la valeur NA en deux colonnes.

J'apprécie tous les conseils!

4
user9259005

La solution la plus simple consiste à utiliser is.na():

df[!is.na(df$B), ]

ce qui vous donne:

   A B  C
1 NA 2 NA
2  1 2  3
4  1 2  3
6
clemens

essaye ça:

df<-data.frame(A=c(NA,1,1,1),B=c(2,2,NA,2),C=c(NA,3,3,3))
df<-df[-which(is.na(df$B)),]
df
   A B  C
1 NA 2 NA
2  1 2  3
4  1 2  3
1
jyjek