如何模拟50个随机样本并计算每个样本的均值和方差

时间:2019-07-16 00:07:58

标签: r statistics

当我模拟50个正态分布的随机样本并尝试计算每个模拟的均值和方差时,出现以下错误:“有50个或更多警告(请使用warnings()查看前50个)”。

n=100
mean=100
sd=25 

sample=NULL
meansample=NULL
sdsample=NULL

for (i in 1:50)
  {

  sample[i]=rnorm(n,mean,sd)
  meansample[i]=mean(sample[i])
  sdsample[i]=sd(sample[i])

  }

sample
meansample
sdsample`

我想问我在执行代码时如何正确计算平均值和标准偏差,以及为什么收到此错误“有50个或更多警告(使用warnings()查看前50个)”的原因。 / p>

1 个答案:

答案 0 :(得分:4)

我个人会那样做。

x <- replicate(50, rnorm(100, 100, 25), simplify = FALSE)
sapply(x, mean)
sapply(x, sd)

当前代码的问题是样本将包含50个独立的数据集,因此您可能希望成为一个列表,将其称为样本[[i]]。

n=100
mean=100
sd=25 

sample=list()
meansample=NULL
sdsample=NULL

for (i in 1:50)
{

  sample[[i]]=rnorm(n,mean,sd)
  meansample[i]=mean(sample[[i]])
  sdsample[i]=sd(sample[[i]])

}

sample
meansample
sdsample