我有一个数据集,我想删除第 456:555 列中具有完整 NA 集的行,我想保留具有一些 NA 的行,但我需要删除具有完整 NA 集的行
我已经尝试过
final[complete.cases(final[ , 456:555]),]
但这不起作用。它说
Error in help.search(c("[", "final", "complete.cases(final[, c(456:555)])", : argument ‘pattern’ must be a single character string
那么我认为这可能会起作用:
data[rowSums(is.na(data)) != ncol(data),]
但我不知道在哪里包含 456:555
我该怎么办?
谢谢!
最佳答案
我们可以使用 dplyr。以@lovalery 为例:
library(dplyr)
df %>% filter(!if_all(V2:V3, is.na))
#> V1 V2 V3
#> 1 3 3 NA
#> 2 NA 1 NA
#> 3 3 5 NA
我们可以在if_all
中使用许多不同的选择语句。查看文档以获取更多示例。
关于删除具有完整 NA 集的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69525690/