r中的多重模拟

multiple simulations in r

我正在尝试从 R 中的指数分布中进行 运行 1000 次模拟。我希望获得模拟列表及其均值向量。但是当我 运行 代码时,列表的前 999 个元素是 NULL,因此前 999 个是 NA。我做错了什么?

nosim <- 1000
n <- 40
r<- 0.2
means<- vector()
sims <- list()
set.seed(4993)
for(i in nosim){
  sims[[i]] = rexp(n, r)
}
means = sapply(sims,mean)

我认为问题在于您的变量 nosim 是标量而不是 sequence/array。

您应该改用 seq(或更快的 seq.int)(如 seq(1,nosim)):

nosim <- 1000
n <- 40
r<- 0.2
means<- vector()   # not really necessary
sims <- list()
set.seed(4993)
for(i in seq(1,nosim)){    # or use `for(i in seq.int(nosim) ){`
  sims[[i]] = rexp(n, r)
}
means = sapply(sims,mean)

希望对您有所帮助