我们假设有一个向量aa = c(1,1,1,2,2,2)
,我会从中抽取两个随机元素,例如1
和2
,所以我得到一个样本{{1 },让我们称之为c(1,2)
。
现在在R中有一种方法可以从向量bb
中删除此样本。此处的aa
和1
不是向量的位置,2
将删除整个向量,因为aa[aa != bb]
和1
涵盖2
的所有元素。如何从此向量中删除每个aa
和1
,2
变为aa
?
答案 0 :(得分:0)
也许可以使用aa
中的索引进行抽样bb
aa = c(1,1,1,2,2,2)
set.seed(42)
#Sample two indices along aa
inds = sample(seq_along(aa), 2)
bb = aa[inds]
bb
#[1] 2 2
#Everything in aa except bb
aa[-inds]
#[1] 1 1 1 2
答案 1 :(得分:0)
有一个名为vecsets::vsetdiff( c(1,1,1,2,2,2), c(1,2) )
# [1] 1 1 2 2
的软件包可以完全满足您的要求:
{{1}}