首页 文章

返回单个rnorm函数调用的均值和标准差

提问于
浏览
1
  • 我试图创建一个列表,其中包含正态分布的均值和标准差值,平均值为5,标准差为5,样本量为10,模拟50,000次 .

例如 . List = ((5, 5), (5, 5), (5, 5))

  • 我知道我可以执行以下代码来生成包含来自上述过程的50,000个样本均值的向量:
sample_means_1 <- rep (NA, reps)
for (i in 1: reps){
    sample_means_1[i] <- mean(rnorm(n_10, 5, 5))
}

sample_means_1 现在包含50,000个样本的向量,样本大小为10

  • 我不知道如何在使用 rnorm 并将其插入列表类型结构时捕获同一运行的均值和标准差 .

  • 尝试将值返回到数据帧的方法更有意义吗?

谢谢,

Edit

请注意未来的读者:

  • 注释中的Ans生成来自@ user2974951的列表
lapply(1:10,function(x){temp=rnorm(10);c(mean(temp),sd(temp))})
  • Ans Accepted从@James生成矩阵

1 回答

  • 1

    您可以使用 replicate 中的匿名函数从分布中重复绘制中提取统计信息:

    replicate(5, {function(x) c(mean=mean(x),sd=sd(x))}(rnorm(10,5,5)))
             [,1]     [,2]     [,3]     [,4]     [,5]
    mean 5.372839 4.042219 4.145441 5.148652 5.202886
    sd   3.929017 5.190347 4.802461 5.515714 4.173267
    

相关问题