我正在尝试filter
所有NA
。我认为这会有用,但它给了我一张空桌而不是我的预期:
data_frame(var=c(sample(letters[1:2],8,replace=8),NA,NA),
value=rnorm(10,10,2)) %>%
filter(var==is.na(var))
#EXPECTED
# var value
# <chr> <dbl>
# 1 <NA> 9.119849
# 2 <NA> 13.236334
答案 0 :(得分:1)
我们只需要is.na
内filter
而不是==
d1 %>%
filter(is.na(var))
# var value
# <chr> <dbl>
#1 <NA> 9.119849
#2 <NA> 13.236334
其中&#39; d1&#39;是data_frame
答案 1 :(得分:1)
如果var为NA,那么is.na(var)将为TRUE。所以在那种情况下,var == is.na(var)是:NA == TRUE。这不是真正的陈述,所以它没有通过过滤器。我会让你考虑其他情况,但我认为你的过滤器没有做你认为它正在做的事情。