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)
希望对您有所帮助
我正在尝试从 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)
希望对您有所帮助