R中的正态分布

时间:2014-04-15 19:17:51

标签: r normal-distribution

我想使用rnorm(n, mean, sd)。我可以理解n是用mean和sd观察的数量。但请简单地告诉我运行rnorm(n,mean,sd)后的结果是什么!

由于

2 个答案:

答案 0 :(得分:1)

让我们说你运行以下内容:

  

rnorm(5,1​​0,2)

你得到的是从正态分布中随机抽取的五个点的值,其平均值为10,标准差为2.

这是一个随机抽奖,因此每次重新运行此行时,您将获得一组不同的数字。但它们都属于同一正态分布。

(如果您希望每次运行命令时都获得相同的值集,则需要先使用set.seed()

答案 1 :(得分:1)

函数调用导致n个观察值从正态分布中采样,该分布符合平均值和标准差的参数。也就是说,如果您要抽取大量观察值,例如1,000,000,那么您的观察值将接近mean和标准偏差(衡量"展开"或者您的数据和#34;与您的sd类似的近似值。 n越大,您的计算结果越接近meansd参数。

下面是一个简单的例子

  

obs< -rnorm(n = 1e6,mean = 0,sd = 1)#a标准正态分布   平均(OBS)   1 0.001220156   SD(OBS)   1 0.9993028

快速直方图将显示采样近似于标准正态分布

  

HIST(OBS)   enter image description here   如果增加n的大小,您还可以看到均值/ sd更接近参数。

> obs<-rnorm(n=1e6, mean=0, sd=1) # a standard normal distribution
> sizes<-10^c(1,2,3,4,5,6) #various sample sizes
> comp<-sapply(sizes, function(x){
+ obs<-rnorm(n=x,mean=0,sd=1)
+ c(mean=mean(obs), sd=sd(obs))})
> comp
          [,1]         [,2]        [,3]         [,4]         [,5]         [,6]
mean 0.5067287 -0.007100886 -0.02529011 -0.005051383 -0.001862262 0.0007186828
sd   1.2146560  1.005648941  0.99851624  0.989914551  1.002872287 1.0006376314