问题:
假设以下随机数表中的数字对应于到达大型工厂工作的人员。设0,1和2为吸烟者,3-9为非吸烟者。许多人到达后,计算吸烟者的总相对频率。
这是我的R代码,用于模拟吸烟者的总相对频率。
simulation<-function(k){
x<-round(runif(k)*10)
return (length(x[x<3])/k)}
> simulation(100)
[1] 0.27
> simulation(1000)
[1] 0.244
> simulation(10000)
[1] 0.2445
> simulation(100000)
[1] 0.24923
为什么我无法得到0.3的结果?
答案 0 :(得分:8)
如果您只想在数字0,1,...,9上获得离散的均匀分布,那么只需使用样本
sample(0:9, k, replace = TRUE)
使用你现在拥有的代码,你实际得到的概率为.05,得到0或10,概率为.10,得到1-9。