以下是一个WinBUGS软件的model程序,是参照范例Rats: a normal hierarchical model写成的,当WinBUGS软件在进行模型检测的时候,总是出现"expected a comma"的错误信息,请各位专家帮忙看看model程序的问题在哪里?导致出现"expected a comma"的错误信息,多谢!
model{
#specify the multilevel model, z and d are the number of first-level units and second-level units, respectively.
for(j in 1:z){
for(i in 1:d){
#specify the first level model: m[j,i]=beta3[j]+e2[j,i]
m[j,i] ~ dnorm(beta3[j], prec.m)
#specify the first level model: y[j,i]=beta1[j]+beta2[j]*m_1[j,i]+e1[j,i]
y[j,i] ~ dnorm(mean.y[j,i], prec.y)
mean.y[j,i]<- beta1[j]+beta2[j]*m_1[j,i]
}
#specify the second level model: beta2[j]=beta2+e3[j]
beta2[j] ~ dnorm(beta2, prec.beta2)
#specify the second level model: beta3[j]=beta3+alpha*x[j]+e4[j]
beta3[j] ~ dnorm(mean.beta3[j], prec.beta3)
mean.beta3[j]<-beta3+alpha*x[j]
#specify the second level model: beta1[j]=beta1+tau.p*x[j]+beta*m_2[j]+e5[j]
beta1[j] ~ dnorm(mean.beta1[j], prec.beta1)
mean.beta1[j]<-beta1+tau.p*x[j]+beta*m_2[j]
}
#prior distribution of parameters.
beta2 ~ dnorm(0,1.0E-6)
beta1 ~ dnorm(0,1.0E-6)
tau.p ~ dnorm(0,1.0E-6)
beta ~ dnorm(0,1.0E-6)
beta3 ~ dnorm(0,1.0E-6)
alpha ~ dnorm(0,1.0E-6)
prec.y ~ dgamma(0.001,0.001)
prec.m ~ dgamma(0.001,0.001)
prec.beta1 ~ dgamma(0.001,0.001)
prec.beta2 ~ dgamma(0.001,0.001)
prec.beta3 ~ dgamma(0.001,0.001)
#define the effects as function of parameters
theta <- alpha*beta
}