如何将所有状态名称组合在一个向量中,而不是单独列出所有逻辑排除项?我在 CRAN 网站上找到了函数 %notin%,但 R 不认为是合法函数。

indata <- indata[which(indata$STATE != "GU" & indata$STATE != "WY" &
                       indata$STATE != "KS" & indata$STATE != "ME" &
                       indata$STATE != "MT" & indata$STATE != "ND" &), ]

谢谢。

最佳答案

indata[!indata$STATE %in% c("GU", "WY", "KS", "ME", "MT", "ND"), ]

编辑:@CarlWitthoft,信不信由你,我实际上已经在私有(private)包中拥有以下内容一段时间了
`%notin%` <- function (x, table) x[!x %in% table]

然而,我从来没有想过要使用它,直到我已经把它打出来很长一段时间。另外,使用它会使我的代码不易分发。我不知道
operators:::`%!in%`

这只是 %notin% 的后半部分

关于r - 如何使用多个排除对数据集进行子集化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10557310/

10-12 17:44