OpenBUGS代码给出错误'期望逗号'

时间:2014-05-05 19:15:30

标签: bayesian winbugs

我正在尝试使用OpenBUGS来安装分层模型,使用以下代码:

model 
{   
for( i in 1:n){
    tausq[i] <- 1/pow(sigma[i], 2)
    psi[i] ~ dnorm(psi, tausq)
    psihat[i] ~ dnorm(psi[i], tausq[i])
}   
psi  ~ dnorm(0, 1000)
tausq ~ dgamma(0.001, 0.001)
sigmasq <- 1/tausq
}

#data

list(n = 12,
psihat = c(1.055, -0.097, 0.626, 0.017, 1.068, -0.025, -0.117, -0.381, 0.507, 0.00,     3.85, 4.05),
sigma = c(0.373, 0.116, 0.229, 0.117, 0.471, 0.120, 0.220, 0.239, 0.186, 0.328, 0.206, 0.254)) 

# initial values

list(psi = 1.5, sigmsq=.1)

但是,我得到错误&#39;期望逗号&#39;和OpenBUGS突出显示psi [i]〜...语句中的tausg。我现在因为我做错了而感到茫然。其他型号很合适,所以我不认为这是一个更大的程序问题。

任何提示都将非常感谢

谢谢!

1 个答案:

答案 0 :(得分:2)

您要定义psitausq两次,这会让BUGS感到困惑。一次作为值的向量(psi[i] ~tausq[i] ~),一次作为单个值(psi ~tausq ~)。你需要重新标记一个或另一个,...可能是后来的psi.mean ~tausq.mean ~psi0 ~tausq0 ~