如何在R中创建离散正态分布?

时间:2015-09-24 15:06:06

标签: r statistics

我正在尝试使用诸如

之类的东西创建离散正态分布
x <- rnorm(1000, mean = 350, sd = 20) 

但我不认为rnorm功能只有内置&#34;离散数字&#34;选项。我花了几个小时试图在StackOverflow,Google和R文档上搜索它,但还没有找到任何东西。

2 个答案:

答案 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)))

简介:

enter image description here

左侧的图形(二项式)肯定接近右侧(正常),这将更加明显为n goes to Inf

正如您将看到的,rbinom(1000, 30, p=0.25)将产生离散值(整数)。此外,密度可能不是在离散变量上使用的最佳函数,但它证明了这一点。

答案 1 :(得分:2)

如果你想在正态分布后生成一组随机整数,你可以简单地将它们舍入...

    round(rnorm(10, 5, 1), 0)