model { for (i in 1:n) { for (j in 1:p) { Y[i,j] ~ dcat(prob[i,j,1:K[j]]) } theta[i] ~ dnorm(0, 1) } for (i in 1:n) { for (j in 1:p) { for (k in 1:K[j] ) { eta[i,j,k] <- theta[i] + (beta * Z[i,1]) - ( delta[j,k] + Z[i,1]*ifelse(k==1,0,gamma[j,k]) ) psum[i,j,k] <- sum(eta[i,j,1:k]) exp.psum[i,j,k] <- exp(psum[i,j,k]) prob[i,j,k] <- exp.psum[i,j,k] / sum(exp.psum[i,j,1:K[j]]) } } } for (j in 1:pnodif) { delta[j,1] <- 0.0 gamma[j,1] <- 0.0 for (k in 2:K[j]) { delta[j,k] ~ dnorm(m.delta, pr.delta) gamma[j,k] <- 0.0 } } for (j in pnodif1:pnounif) { delta[j,1] <- 0.0 gamma[j,1] <- 0.0 for (k in 2:K[j]) { delta[j,k] ~ dnorm(m.delta, pr.delta) gamma[j,k] ~ dnorm(m.gamma,s.gamma) } } for (j in pnounif1:p) { delta[j,1] <- 0.0 gamma[j,1] <- 0.0 gamma[j,2] ~ dnorm(m.gamma,pr.gamma) delta[j,2] ~ dnorm(m.delta, pr.delta) for (k in 3:K[j]) { delta[j,k] ~ dnorm(m.delta, pr.delta) gamma[j,k] <- gamma[j,2] } } beta ~ dnorm(m.beta,pr.beta) pr.delta <- pow(s.delta, -2) pr.beta <- pow(s.beta,-2) pr.gamma <- pow(s.gamma,-2) }