2017-08-24 86 views
0

删除样本假设有一个向量aa = c(1,1,1,2,2,2),我品尝到这两个随机元素,例如,12,所以我得到一个样本c(1,2),姑且称之为bb[R如何从矢量

现在R中有一种方法可以从矢量aa中删除此样本。 12这里不是位置矢量和aa[aa != bb]将删除整个载体,因为12覆盖所有元素aa。我怎样才能从这个矢量中删除一个12,所以aa变成c(1,1,2,2)

+0

一种解决方案是创建一个新列,' id“,然后根据”id“而不是”aa“进行抽样和删除。 – ulfelder

回答

0

有一个名为vecsets,做你问什么包:

vecsets::vsetdiff(c(1,1,1,2,2,2), c(1,2)) 
# [1] 1 1 2 2 
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