删除具有完整 NA 集的行

标签 r filter subset na

我有一个数据集,我想删除第 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/

相关文章:

r - 如果点落在与另一个点的某个附近,我如何生成点为 'repelled' 的数据?

javascript - 列表过滤器不起作用

java - Set.contains() 如何决定它是否是一个子集?

c - 在 Mac OS X 上将 GNU 科学库链接到 R

r - 如何删除R中没有大写的单词?

java - 在Java中过滤一串不需要的字符

java - 如何使用 AutoWired 将 spring bean 注入(inject) ContainerRequestFilter ?

algorithm - 可以检查位集子集的类似 Map<bitset,object> 的数据结构?

r - 如何从列表中的多个向量中选择多个元素

r - 文件的 Shiny 超链接相对路径