如何使用for循环和set.seed(i)为rmarkovchain提供仿真?

时间:2019-07-05 05:04:49

标签: 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="level -2"))}

但是R告诉我错误

  

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

1 个答案:

答案 0 :(得分:0)

您也可以使用复制,这可能会有所帮助。 例如:

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

希望它会有所帮助(我没有运行它,但是过去曾经使用过这种方法)。