R中循环JAGS模型的问题

时间:2013-08-06 16:45:06

标签: r loops jags

我正在尝试使用rjags在循环中运行7个JAGS模型,但是无法让循环运行。

首先我创建了七个模型,(模型txt文件已经创建)。 JAGS代码看起来很好,我认为我对R向量的经验不足是问题所在。

model1 <- NULL
model2 <- NULL
model3 <- NULL
model4 <- NULL
model5 <- NULL
model6 <- NULL
model7 <- NULL

for (i in 1:totaltime) { #where totaltime is length=7
assign(paste("model",i,sep=""), jags.model(paste("model",i,".txt",sep=""),        data=DataList , #inits=initsList , 
                      n.chains=nChains , n.adapt=adaptSteps ))
}

这部分运行正常并创建了七个模型,然后是老化步骤:

for (i in 1:totaltime) {
update(paste("model",i,sep=""), n.iter=burnInSteps)
}

此部分出错:对象[[name,exact = TRUE]]中的错误:下标超出范围。但是如果我输入:

update(model1, n.iter=burnInSteps)

工作正常。为什么更新功能不识别循环粘贴?下一行也说:

for (i in 1:totaltime) {
paste("codaSamples",i,sep="")=coda.samples(paste("model",i,sep=""),      variable.names=parameters,n.iter=nPerChain,thin=thinSteps)
}

其中给出了错误消息:模型$ iter中的错误:$ operator对原子向量无效

但是,如果我将矢量运行为:

 codaSamples1=coda.samples(model1, variable.names=parameters,n.iter=nPerChain,thin=thinSteps)

它运作正常,令人沮丧!

0 个答案:

没有答案