【发布时间】:2020-04-16 22:17:50
【问题描述】:
filter(data, function(x) sum(is.na(x))>2)
我想使用这段代码来获取包含少于 2 个 NA 值的行的数据子集,但是发生错误:
错误:参数 2 过滤条件不计算为逻辑向量
只是想知道原因以及我该如何处理?非常感谢!
【问题讨论】:
filter(data, function(x) sum(is.na(x))>2)
我想使用这段代码来获取包含少于 2 个 NA 值的行的数据子集,但是发生错误:
错误:参数 2 过滤条件不计算为逻辑向量
只是想知道原因以及我该如何处理?非常感谢!
【问题讨论】:
我们可以使用filter 和rowSums
library(dplyr)
data %>%
filter(rowSums(is.na(.)) < 2)
或者使用base R
data[rowSums(is.na(data)) < 2,]
data <- data.frame(col1 = c(2, 3, NA), col2 = c(2, NA, NA), col3 = c(1, 2, 3))
【讨论】: