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