繁体   English   中英

Runif没有产生统一的分布

[英]Runif is not generating a uniform distribution

set.seed(1432)    
n_len <- 400000
jdc<- data.frame(rnd = numeric(n_len))
jdc$rnd <- runif(n_len,0,1)
ggplot(jdc,aes(x = rnd)) + geom_density()

在此输入图像描述

正如您将注意到,随机变量的分布向两个边界下降。

我试图基于一些不到rnd的样本,但是i的范围在0到.05之间,因此这种分布是个问题。

这与密度估计有关,而与runif() 最好使用直方图来查看数据:

ggplot(jdc, aes(x = rnd)) + geom_histogram(binwidth = 0.01, boundary = 0)

在此输入图像描述

正如约兰所指出的那样,人们还可以创建一个直方图,显示与密度估算器类似的偏差:

ggplot(jdc, aes(x = rnd)) + geom_histogram()

在此输入图像描述

直方图的优点是易于理解,为什么会发生这种情况。 最左边和最右边的箱子分别以0和1为中心。 这意味着,例如,最左边的箱从-0.005到0.005。 但是没有数据点低于零,所以这个间隔只包含大约一半的点数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM