与 R 中的概率混淆

问题描述

我是 R 的新手,我遇到了一个问题,其中的代码显示“a = runif(1)

这是否意味着发生的概率是 0.2 或 0.8?

解决方法

runif(1) 会给你 1 个均匀分布的样本,介于 0 和 1 之间:

runif(1)
[1] 0.04113232

然后将其与 0.2 进行比较并返回一个布尔值,即“我的采样值是否小于 0.2?”

runif(1) < .2
[1] FALSE
,

您可以通过运行随机均匀函数 10,000 次并在表格中查看结果来查看它的运行情况:

set.seed(2021)
table(runif(1:10000) < 0.2)
FALSE  TRUE 
 8044  1956 

20% 正确