我想使用rnorm(n, mean, sd)
。我可以理解n是用mean和sd观察的数量。但请简单地告诉我运行rnorm(n,mean,sd)
后的结果是什么!
由于
答案 0 :(得分:1)
让我们说你运行以下内容:
rnorm(5,10,2)
你得到的是从正态分布中随机抽取的五个点的值,其平均值为10,标准差为2.
这是一个随机抽奖,因此每次重新运行此行时,您将获得一组不同的数字。但它们都属于同一正态分布。
(如果您希望每次运行命令时都获得相同的值集,则需要先使用set.seed()
)
答案 1 :(得分:1)
函数调用导致n个观察值从正态分布中采样,该分布符合平均值和标准差的参数。也就是说,如果您要抽取大量观察值,例如1,000,000,那么您的观察值将接近mean
和标准偏差(衡量"展开"或者您的数据和#34;与您的sd
类似的近似值。 n
越大,您的计算结果越接近mean
和sd
参数。
下面是一个简单的例子
obs< -rnorm(n = 1e6,mean = 0,sd = 1)#a标准正态分布 平均(OBS) 1 0.001220156 SD(OBS) 1 0.9993028
快速直方图将显示采样近似于标准正态分布
HIST(OBS) 如果增加
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