我有一个包含一些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'等进行了讨论,但是还没有找到一个干净的方法来做到这一点.
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)