2
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()

enter image description here

As you will note the distribution of the random variable drops off towards both boundaries.

I am trying to sample based on some i less than rnd, but range of i is between 0, .05, thus this distribution is a problem.

4

1 回答 1

12

这与密度估计器的关系比与 的关系更大runif()。最好使用直方图来查看数据:

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

在此处输入图像描述

正如joran所指出的,人们还可以创建一个直方图,显示与您的密度估计器类似的偏差:

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

在此处输入图像描述

直方图的优点是很容易理解,为什么会这样。最左边和最右边的 bin 分别以 0 和 1 为中心。这意味着,例如,最左边的 bin 从 -0.005 变为 0.005。但是没有低于零的数据点,所以这个区间只包含其他点的一半左右。

于 2017-09-27T16:46:34.637 回答