我正在尝试使用诸如
之类的东西创建离散正态分布x <- rnorm(1000, mean = 350, sd = 20)
但我不认为rnorm
功能只有内置&#34;离散数字&#34;选项。我花了几个小时试图在StackOverflow,Google和R文档上搜索它,但还没有找到任何东西。
答案 0 :(得分:6)
显然,没有离散的正态分布,因为默认情况下它是连续的。但是,如上所述here(维基百科不是最好的来源,但无论如何这是正确的):
如果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)))
简介:
左侧的图形(二项式)肯定接近右侧(正常),这将更加明显为n goes to Inf
。
正如您将看到的,rbinom(1000, 30, p=0.25)
将产生离散值(整数)。此外,密度可能不是在离散变量上使用的最佳函数,但它证明了这一点。
答案 1 :(得分:2)
如果你想在正态分布后生成一组随机整数,你可以简单地将它们舍入...
round(rnorm(10, 5, 1), 0)