[R如何从矢量
问题描述:
删除样本假设有一个向量aa = c(1,1,1,2,2,2)
,我品尝到这两个随机元素,例如,1
和2
,所以我得到一个样本c(1,2)
,姑且称之为bb
。[R如何从矢量
现在R中有一种方法可以从矢量aa
中删除此样本。 1
和2
这里不是位置矢量和aa[aa != bb]
将删除整个载体,因为1
和2
覆盖所有元素aa
。我怎样才能从这个矢量中删除一个1
和2
,所以aa
变成c(1,1,2,2)
?
答
有一个名为vecsets
,做你问什么包:
vecsets::vsetdiff(c(1,1,1,2,2,2), c(1,2))
# [1] 1 1 2 2
答
也许使用沿着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
一种解决方案是创建一个新列,' id“,然后根据”id“而不是”aa“进行抽样和删除。 – ulfelder