【问题标题】:function argument in filter of dplyr in RR中dplyr过滤器中的函数参数
【发布时间】:2020-04-16 22:17:50
【问题描述】:
filter(data, function(x) sum(is.na(x))>2)

我想使用这段代码来获取包含少于 2 个 NA 值的行的数据子集,但是发生错误:

错误:参数 2 过滤条件不计算为逻辑向量

只是想知道原因以及我该如何处理?非常感谢!

【问题讨论】:

    标签: r function dplyr


    【解决方案1】:

    我们可以使用filterrowSums

    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))
    

    【讨论】:

    • 非常感谢,我只是对您最初提到的“filter_all”回答感到有些困惑,但是,现在已经解决了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2021-03-22
    • 1970-01-01
    相关资源
    最近更新 更多