通过对现有矢量进行采样来创建新矢量,但绘制的概率取决于序列中的位置

Creating a new vector by sampling an existing one, but with the probability of being drawn conditional on the position in the sequence

我有一个像这样的简单向量

V1 <- seq(1:21)
[1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21

我想对 V1 进行采样以创建一个相同长度的新向量 (V2) 而无需替换,但我想根据序列 V2 中的位置调整绘制给定值的概率。

具体来说,对于数字 =10 或 <10(即 V1 前半部分的值),我希望它们有 80% 的机会出现在 V2 的前半部分。 20% 的数字基本上会迁移到向量的另一侧,从 V1 到 V2。

非常感谢任何关于如何做到这一点的想法(在特定百分比或移民数量方面具有灵活性)!

肖恩

我们可以使用

sample(V1, prob = ifelse(V1 <=10, 0.8, 0.2))