为什么Rjags会抛出“未知变量mu.fine”? Rjags错误

时间:2018-11-29 18:26:40

标签: r model bayesian jags

我目前正在尝试使用JAGS开发模型,但不幸的是,我一直收到以下错误消息:

Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: setRollbackOnly called on transaction

当我运行以下代码时会发生这种情况:

myCrate = new Bottle[7];

以下是标题为“ ref_model.txt”的文件中的内容,我在R中使用Rjags在R中运行它

Error in jags.model("ref_model.txt", data = ref.data.jags, inits = inits3,  : 
RUNTIME ERROR:
Compilation error on line 26.
Unknown variable mu.fine
Either supply values for this variable with the data
or define it  on the left hand side of a relation.

对于为什么会发生错误,我有些困惑。如果有人可以建议我如何解决此问题,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

之所以发生此错误,是因为mu.fine仅出现在等式的右手而不是左手。换句话说,S.ref取决于mu.fine,但是您没有告诉JAGS mu.fine是什么(没有值)。假设lambda.fine是线性预测变量,S.ref是您的因变量,则可以更改

S.ref[j] ~ dpois(mu.fine[j])

S.ref[j] ~ dpois(lambda.fine[j])

然后不会发生此错误。