如何同时过滤多个条件?

小家鼠

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

除了平常

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

方法,当存在大量标准时,有没有更简单的方法来实现这一目标?

我试过了

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

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

但都行不通(您明白了)。

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

阿克伦

我们可以使用%in%!即在元件的上的一个向量创建一个逻辑向量rhs%in%和求反(!

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

注意:使用!===导致错误的输出,因为这些是逐元素比较,即它检查'siteLocation'的第一个元素不等于"",然后检查第二个元素与'VC2',依此类推,直到到达向量的最后一个元素。然后,从""...开始进行回收

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章