filter_all for !is.na() in R 仍然产生缺失值
filter_all for !is.na() in R still yields missing values
我正在尝试使用 dplyr 的 filter_all() 来生成所有 不 有任何缺失数据的行。我正在使用 dplyr 的内置星球大战数据集。当我使用此代码得出 does 有任何缺失值时,它可以无缝运行:
library(dplyr)
data("starwars")
rows_with_NAs <- starwars %>%
filter_all(any_vars(is.na(.)))
但是,如果我尝试使用此代码查找不的行有任何缺失值:
rows_without_NAs <- starwars %>%
filter_all(any_vars(!is.na(.)))
我仍然得到带有 NA 的行。
head(rows_without_NAs)
为什么会这样,我该如何解决?
谢谢!
tidyr
对此有 drop_na()
运算符。
library(tidyverse)
data("starwars")
rows_without_NAs <- starwars %>%
drop_na()
我正在尝试使用 dplyr 的 filter_all() 来生成所有 不 有任何缺失数据的行。我正在使用 dplyr 的内置星球大战数据集。当我使用此代码得出 does 有任何缺失值时,它可以无缝运行:
library(dplyr)
data("starwars")
rows_with_NAs <- starwars %>%
filter_all(any_vars(is.na(.)))
但是,如果我尝试使用此代码查找不的行有任何缺失值:
rows_without_NAs <- starwars %>%
filter_all(any_vars(!is.na(.)))
我仍然得到带有 NA 的行。
head(rows_without_NAs)
为什么会这样,我该如何解决?
谢谢!
tidyr
对此有 drop_na()
运算符。
library(tidyverse)
data("starwars")
rows_without_NAs <- starwars %>%
drop_na()