4

すべての論理的除外を個別にリストするのではなく、すべての状態名を 1 つのベクトルに結合する方法は? CRAN Web サイトで関数 %notin% を見つけましたが、R は正当な関数として認識しません。

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

ありがとう。

4

2 に答える 2

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

編集:@CarlWitthoft、信じられないかもしれませんが、私は実際にしばらくの間プライベートパッケージに次のものを持っていました

`%notin%` <- function (x, table) x[!x %in% table]

しかし、私はそれを長い道のりでタイプし終えるまで、それを使うことを決して考えません。さらに、それを使用すると、コードの配布が少なくなります。知らなかった

operators:::`%!in%`

これは後半だけです%notin%

于 2012-05-11T19:17:16.573 に答える
3

再試行:

library(operators) 

x%!in%y  

#works fine 
于 2012-05-11T23:38:44.440 に答える