问题:
假设下面的随机数表中的数字对应于来一家大型工厂工作的人。设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的结果?
发布于 2013-03-18 09:48:35
如果你想做的就是在数字0,1,...,9上得到一个离散的均匀分布,那么只需使用sample
sample(0:9, k, replace = TRUE)
有了现在的代码,你实际上会得到.05的概率,得到0或10的概率,以及.10的概率,得到1-9的概率。
https://stackoverflow.com/questions/15468336
复制相似问题