增加R中发生事件的几率

时间:2015-03-01 19:18:16

标签: r statistics percentage

我有一个存储在R的数字向量。

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

我想为每个号码添加两个。

my_vector + 2
[1] 3 4 5 6 7

但是,我希望每次运行代码时,只有20%的机会在向量中添加两个数字。有没有办法在R中编码?

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

或者

[1] 5 4 5 6 7

即。只有20%的可能性,向量中的任何一个数字都会增加两个。

1 个答案:

答案 0 :(得分:2)

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)))