9

これは本当に簡単ですが、私はそれを見つけることができないようです。%in%Rには、「notin 」を返す否定バージョンがあることを私は知っています。明らかに、私はただ使用することができまし!(x %in% y)たが、言語にはすでに否定された構文が含まれているので、それを使用したいと思います、goshdarnit。

それで、機能は何ですか?検索だけでなく%nin%%notin%すべてが失敗します。

!(x %in% y)次のサンプルデータを使用するのではなく、回答をベンチマークする場合は、インターネットをボーナスとして利用できます。

x <- sample( sample(letters,5), 10^3, replace=TRUE)
y <- sample( letters, 10^5, replace=TRUE)
4

1 に答える 1

15

ただ興味がない。定義

"%w/o%" <- function(x, y) x[!x %in% y] 
'%ni%' <- Negate('%in%')

> benchmark(y[y%ni%x], y%w/o%x,replications=1000)
         test replications elapsed relative user.self sys.self user.child
2   y %w/o% x         1000    5.32 1.000000      4.60     0.70         NA
1 y[y %ni% x]         1000    5.34 1.003759      4.68     0.65         NA
  sys.child
2        NA
1        NA

クッキーはもらえますか?

于 2012-07-03T01:15:47.957 に答える