4

在 R 中,是否有一些简单的方法来进行多集(即“袋子”)差异,类似于setdiff(),但保留输入向量中的顺序和多重性?

例如,假设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)元素的第一次出现已被删除,具有多重性。yx

(在我的实际任务中,我不会真正关心输出的顺序,所以只有多重性正确才重要,但一般的有序情况似乎值得解决。)

4

1 回答 1

3

有一个与您所描述的相近的集合模块。就像是:

library(sets)
gset_difference(as.gset(x), as.gset(y)) 
# gives
{1 [1], 2 [1], 3 [2], 4 [2]}
于 2011-03-04T19:51:34.387 回答