r生成给定概率的随机二进制结果

r生成给定概率的随机二进制结果,r,R,我希望生成给定概率为0.05的随机二进制结果。 因此,平均每20次平局我应该得到一个正(1)和19个负(0) 我怎样才能用R做到这一点 我知道如何以0.5的概率生成: sample(0:1, 10000, replace=T) mean(sample(0:1, 10000, replace=T)) [1] 0.5034 但是我需要0.05的概率。在示例函数中有一个参数prob 你的电话会是 sample(0:1, 10000, replace=T,prob=c(0.95,0.05)) 二项分

我希望生成给定概率为0.05的随机二进制结果。 因此,平均每20次平局我应该得到一个正(1)和19个负(0)

我怎样才能用R做到这一点

我知道如何以0.5的概率生成:

sample(0:1, 10000, replace=T)
mean(sample(0:1, 10000, replace=T))
[1] 0.5034

但是我需要0.05的概率。

示例
函数中有一个参数
prob

你的电话会是

sample(0:1, 10000, replace=T,prob=c(0.95,0.05))

二项分布有一个随机生成器,其目的就是生成这样的样本:

x <- rbinom(n=10000, size=1, prob=0.05)

x如果你严格地只想生成一个随机符号(就像我的例子!!),而你不想要整个间隔。。。您可以使用:

2*rbinom(n=1, size=1, prob=0.5)-1
这将生成+1或-1作为输出

请注意,
prob=0.5
,您需要根据所需的概率调整它。

不是
prob=c(0.95,0.05)
?:-)