代码之家  ›  专栏  ›  技术社区  ›  Mus mzuba

如何同时筛选多个条件?[副本]

r
  •  1
  • Mus mzuba  · 技术社区  · 3 年前

    我需要从我拥有的数据集中排除六个值的任何实例,并想知道是否有一个“一体化”解决方案来实现这一点。

    除了平常的事

    df[df$val != "one" || df$val != "two", ]
    

    方法,当有更多的标准时,有没有更简单的方法来实现这一点?

    我试过了

    combi %>%
      filter(siteLocation != c("", "VC2", "LB", "GHNA", "GH", "GA"))
    

    combi %>%
      filter(siteLocation != "" | "VC2" | "LB" | "GHNA" | "GH" | "GA")
    

    但两者都不起作用(你知道的)。

    这可能吗?如果可能,怎么可能?

    1 回复  |  直到 3 年前
        1
  •  0
  •   akrun    3 年前

    我们可以用 %in% 具有 ! i、 e.在元素向量上创建一个逻辑向量 rhs ,并否定( !

    library(dplyr)
    combi %>%
       filter(! siteLocation %in% c("", "VC2", "LB", "GHNA", "GH", "GA"))
    

    != == "" ,然后用“VC2”表示第二个元素,依此类推,直到它到达向量的最后一个元素。然后,它从 "" ...