使用随机效应模型中的正常先验截断的RJAGS语法错误

时间:2013-11-23 21:51:29

标签: normal-distribution truncation

我在rjags中使用代码运行随机效果模型:

    model{ 
for (i in 1:N) {
mu1[i]<-(da1[1]+pow(10,(pka1[2]-ph[i]))*da1[2]+pow(10,(pka1[1]+pka1[2]-2*ph[i]))*da1[3])/(1+pow(10,(pka1[2]-ph[i]))+pow(10,(pka1[1]+pka1[2]-2*ph[i])))

mu2[i]<-(da2[1]+pow(10,(pka2[2]-ph[i]))*da2[2]+pow(10,(pka2[1]+pka2[2]-2*ph[i]))*da2[3])/(1+pow(10,(pka2[2]-ph[i]))+pow(10,(pka2[1]+pka2[2]-2*ph[i])))

}

MU[1:N,1]<-mu1
MU[1:N,2]<-mu2

for (i in 1:N) {
Y[i,1:2] ~ dmnorm(MU[i,1:2],SIGMA)
}

SIGMA ~ dwish(R,5)

for (i in 1:2) {
pka[i] ~ dunif(0,14)
}

pka<-sort(pka)

for (i in 1:2) {
pka1[i]<-dnorm(pka[i],1)T(0,14)
pka2[i]<-dnorm(pka[i],1)T(0,14)
}

for (i in 1:3) {
da1[i] ~ dunif(0,10)
da2[i] ~ dunif(0,10)
}

}

并收到错误:

Error in jags.model("model2b.txt", data = data, n.chains = 4, n.adapt = 10) : 
Error parsing model file:syntax error on line 25 near "T"

我已经运行了一个不太复杂的mu版本,只有一个pka1和pka2,模型运行完美。任何帮助发现语法错误都将非常感谢!

1 个答案:

答案 0 :(得分:2)

for (i in 1:2) {
pka1[i]<-dnorm(pka[i],1)T(0,14)
pka2[i]<-dnorm(pka[i],1)T(0,14)
}

<-应为~

这是其中一个问题,也许还有其他问题。