我正在尝试使用诸如此类的东西创建离散正态分布
x <- rnorm(1000, mean = 350, sd = 20)
Run Code Online (Sandbox Code Playgroud)
但我不认为该rnorm功能有内置的"离散数字"选项.我花了几个小时试图在StackOverflow,Google和R文档上搜索它,但还没有找到任何东西.
显然,没有离散的正态分布,因为默认情况下它是连续的.但是,如前所述这里(维基百科是不是最好的来源,但是这是正确的反正):
如果n足够大,则分布的偏差不会太大.在这种情况下,B(n,p)的合理近似由正态分布给出
这可以通过一个简单的例子看到:
par(mfrow=c(1,2) )
#values generated by a binomial distribution
plot(density(rbinom(1000, 30, p=0.25)))
#values generated by a normal distribution
plot(density(rnorm(1000)))
Run Code Online (Sandbox Code Playgroud)
情节:
左边的图形(二项式)肯定接近右边(正常),这将更加明显n goes to Inf.
正如您将看到的那样,rbinom(1000, 30, p=0.25)将产生离散值(整数).此外,密度可能不是在离散变量上使用的最佳函数,但它证明了这一点.
如果你想生成一组遵循正态分布的随机整数,你可以像这样简单地将它们四舍五入......
round(rnorm(10, 5, 1), 0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5795 次 |
| 最近记录: |