setdiff()
Rでは、入力ベクトルの順序と多重度を維持しながら、マルチセット(つまり「バッグ」)の違いを行う簡単な方法はありますか?
たとえば、 とx <- c(1,2,2,3,1,5,4,4,5,3)
としy <- c(2,1,5,5)
ます。bagdiff()
のような関数を探しています。bagdiff(x,y)
つまり、 inc(2,3,1,4,4,3)
の要素の最初の出現が削除され、多重度があります。y
x
(私の実際のタスクでは、出力の順序はあまり気にしないので、多重度が正しいことだけが重要ですが、一般的な順序付けられたケースは解決する価値があるようです。)