runif() 不统一
runif() is not uniform
我正在写一个轮盘赌模拟器,但我刚开始就卡住了。我想绘制从 0 到 36 的整数,所以我使用了 runif()。
我注意到 0 是杰出的。看看:
n=1000000
x=floor(runif(n,0,37))
hist(x,breaks=37)
要删除“0”,我写道:
n=1000000
x=floor(runif(n,0,37)*100)/100
hist(x,breaks=37)
是什么给了我
我的问题是 为什么它有效?
不,这不是 runif 的问题。
试试这个:
plot(density(x))
您会看到分布很平滑
问题在于直方图中的中断位置,并且存在栅栏问题。直方图不是最好的可视化工具,因为基本上中断必须完美对齐。
我正在写一个轮盘赌模拟器,但我刚开始就卡住了。我想绘制从 0 到 36 的整数,所以我使用了 runif()。 我注意到 0 是杰出的。看看:
n=1000000
x=floor(runif(n,0,37))
hist(x,breaks=37)
要删除“0”,我写道:
n=1000000
x=floor(runif(n,0,37)*100)/100
hist(x,breaks=37)
是什么给了我
我的问题是 为什么它有效?
不,这不是 runif 的问题。
试试这个:
plot(density(x))
您会看到分布很平滑
问题在于直方图中的中断位置,并且存在栅栏问题。直方图不是最好的可视化工具,因为基本上中断必须完美对齐。