如何在单个向量中组合所有状态名称,而不是单独列出所有逻辑排除项?我发现CRAN网站上的函数%notin%,但R不承认是合法函数。
indata <- indata[which(indata$STATE != "GU" & indata$STATE != "WY" &
indata$STATE != "KS" & indata$STATE != "ME" &
indata$STATE != "MT" & indata$STATE != "ND" &), ]
感谢。
答案 0 :(得分:5)
indata[!indata$STATE %in% c("GU", "WY", "KS", "ME", "MT", "ND"), ]
编辑:@CarlWitthoft,不管你信不信,我实际上已经有一段时间在私人包中了
`%notin%` <- function (x, table) x[!x %in% table]
然而,直到我已经把它输出很长时间之后,我才会想到要使用它。另外,使用它可以减少我的代码分发。我不知道
operators:::`%!in%`
只是%notin%
答案 1 :(得分:3)
再试一次:
library(operators)
x%!in%y
#works fine