如何使用for loop和set.seed(i)为rmarkovchain提供模拟?

如何使用for loop和set.seed(i)为rmarkovchain提供模拟?,r,R,我想用R中的rmarkov链函数对1周期马尔可夫链进行1000次模拟 我已尝试将set.seed()函数与for循环相结合: for(i in 1:1000){ set.seed(i) (rmarkovchain(n=1,object=claims,t0="level -2")) } 为了执行rmarkovchain函数1000次,以生成1000个随机输出 for(i in 1:1000){set.seed(i) (rmarkovchain(n=1,object=claims,t0="l

我想用R中的rmarkov链函数对1周期马尔可夫链进行1000次模拟

我已尝试将
set.seed()
函数与for循环相结合:

for(i in 1:1000){
   set.seed(i) (rmarkovchain(n=1,object=claims,t0="level -2"))
}
为了执行rmarkovchain函数1000次,以生成1000个随机输出

for(i in 1:1000){set.seed(i) (rmarkovchain(n=1,object=claims,t0="level -2"))}
但R告诉我错误

“for(i in 1:1000){set.seed(i)rmarkovchain”中的意外符号


您还可以使用replicate,这可能会有所帮助。 例如:

B <- 1000
N <- 1
set.seed(1)

sim.msm <- replicate(B, {
   X <- rmarkovchain(n = N, 
                    object = claims, 
                    t0 = "level -2",
                    include.t0 = TRUE,
                    parallel = TRUE, # set true to parallelize
                    num.cores=detectCores()-1)}) # set your cores


B设置种子后尝试换行(i)
…不要将
设置.seed
组合为
循环。设置RNG种子意味着有可复制的结果。如果只设置一次,则将有可复制的结果,无需继续重置。此外:不要使用循环,只需设置
n=1000
。实际上,您根本没有获得马尔可夫链样本,因为他们都只是一个独立的第一场平局。