在R中,您可以通过以下方式从数据框中选择所有非NA
行:
set.seed(123)
nadf = data.frame(a = 1:20, b=sample(c("a","b",NA), 20, replace=TRUE))
nadf[complete.cases(nadf),]
好消息是我不需要指定要检查的列。如果是NA
,R将检查每一行和每列的每个值。我现在想用dplyr
来做这件事。
在dplyr
我的第一反应就是使用filter
命令。但是,通过filter
,我需要指定要过滤的每一列。假设此数据框具有列名a...z
,它看起来像这样:
df = df %>% filter( a != NA, b != NA, ..., z != NA)
这非常冗长,我想在dplyr中必须有更好的方法来执行此操作。在那儿?