【问题标题】:How to simulate 50 random samples and calculate mean and variance of each sample如何模拟 50 个随机样本并计算每个样本的均值和方差
【发布时间】:2023-03-28 22:07:01
【问题描述】:

当我模拟 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 个)”。

【问题讨论】:

    标签: r statistics


    【解决方案1】:

    我个人会这样做。

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

    您当前代码的问题是 sample 将包含 50 个单独的数据集,因此您可能希望将其作为一个列表将其称为 sample[[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 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 2014-05-16
      • 2021-10-14
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      相关资源
      最近更新 更多