【发布时间】:2014-11-09 19:49:52
【问题描述】:
我有这两个向量:
first<-c(1,2,2,2,3,3,4)
second<-c(1,2)
现在我希望 first 没有 second 元素得到这样的结果:(2,2,3,3,4);确实,
我不希望所有2s 都被删除,只想一一减去。
我试过这个(来自here):
'%nin%' <- Negate('%in%')
first<-first[first %nin% second]
但它会从first 中删除所有2s 并给出以下结果:(3,3,4)
我该怎么做?
【问题讨论】:
-
@rawr 只是第一个!正如我所说,一个一个;
first[-second]会一一做吗? -
我很困惑
second是否应该是您要删除的first的索引,或者应该删除first中的特定元素模式。 -
@rawr 更通用的例子:让
first成为(1,2,4,2,3,1,2,3)和second成为(9,2,2,1)。在这种情况下,交叉点是(2,2,3)。所以应该从first中删除两个 2 和一个 3。