在 R 中添加某事发生的概率

Add a percent chance of something happening in R

我在 R 中存储了一个数字向量。

my_vector <- c(1,2,3,4,5)

我想给每个数字加两个。

my_vector + 2
[1] 3 4 5 6 7

但是,我希望每次 运行 代码时只有百分之二十的机会将我的向量中的数字加 2。有没有办法在 R 中对此进行编码?

我的意思是,如果我 运行 代码,输出可能是: [1] 3 4 5 6 9

或者

[1] 5 4 5 6 7

即向量中的任何一个数字都只有 20% 的几率会被添加两个。

myvector + 2*sample(c(TRUE,FALSE), length(myvector), prob=c(0.2,0.8), repl=TRUE)

这将给出可变数量的 2(这就是您要问的),但有时人们想知道恰好 20% 的人会添加 2,在这种情况下会是:

myvector + 2*sample(c(TRUE,rep(FALSE,4)))