如何从向量中采样而不重复?

时间:2019-10-26 17:15:48

标签: r

下午好!

我需要从向量中采样元素,但无需重复。 这意味着,如果我有n个元素的向量,则每次都会随机抽取一个元素,并将该元素存储在表中。下次我的初始表将不包含之前选择的元素。

ex:

a = c(1,2,0,7,5)
sample(a,1) give 5 for example. 
print(a) ; a now should contain only 1 , 2 , 0 , 7.

我希望我的问题清楚。 谢谢您的帮助!

2 个答案:

答案 0 :(得分:1)

另一种方法是对索引值和基于它的子集进行采样:

a <- c(1, 2, 0, 7, 5)

set.seed(123)
ind <- sample(seq_along(a), 1)

a[ind]
a[-ind]

答案 1 :(得分:0)

我认为解决方案可能是:

sum()

将对该元素进行采样并删除。