我需要从我拥有的数据集中排除六个值的任何实例,并想知道是否存在“多合一”解决方案来实现这一目标。
除了平常
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] 删除。
我来说两句