使用runif函数使用R计算出现次数

时间:2016-05-21 13:32:31

标签: r

假设事件发生的概率是0.2。我希望,例如50次,使用R中的runif函数计算事件发生的次数。

这是正确的方法吗?因为它并没有真正给出预期的结果。

X <- 50

amount <- (runif(X)<0.2)

amount <- sum(runif(X)<0.2))

2 个答案:

答案 0 :(得分:1)

嗯,奇怪的是主观的东西 - 随机数字看起来很奇怪,但仍然是随机的。你可以检查你的结果是否真的很奇怪:

runs <- replicate(1000, sum(runif(50)<0.2))
mean(runs)  # I got 10.028
median(runs)  # should be exactly 10

这里没什么奇怪的。 (我会在这里使用rbinom代替runif,但这不会有太大变化。)

答案 1 :(得分:0)

让我们逐行回顾一下:

以下将X(试验次数)设置为50。

X <- 50 

让我们来看看我们的选择:

amount <- (runif(X)<0.2)

这将返回一个T / F值的向量,每个都是试验结果,True表示事件发生,False表示事件不发生。

amount <- sum(runif(X)<0.2))

就像上一个命令一样,但总结了结果。这会计算事件发生的次数。