索引到数据帧时如何诱导R"忽略"NA?

Eri*_*man 5 r

我有一个包含一些NA的数据帧,当我索引它时,我希望R忽略该列中的NA.

fake = data.frame(id = 1:5,
                  color = c('red', NA, NA, 'blue', 'blue'),
                  value = rnorm(5))

sub = fake[fake$color != 'red', ]

     id color      value
NA   NA  <NA>         NA
NA.1 NA  <NA>         NA
4     4  blue -0.3227421
5     5  blue -1.0196561
Run Code Online (Sandbox Code Playgroud)

我想要的数据帧是:

  id color      value
2  2  <NA>  0.2761862
3  3  <NA>  1.0029380
4  4  blue -0.3227421
5  5  blue -1.0196561
Run Code Online (Sandbox Code Playgroud)

但无论出于何种原因,当遇到"颜色"中的NA时,R NAs会排出整个行.我已经用'na.exclude','na.pass'等进行了讨论,但是还没有找到一个干净的方法来做到这一点.

Jos*_*ien 5

fake[!fake$color %in% "red",]
#   id color      value
# 2  2  <NA> -1.1341590
# 3  3  <NA> -0.6181337
# 4  4  blue  0.6115878
# 5  5  blue  1.3984797
Run Code Online (Sandbox Code Playgroud)