47 lines
1.4 KiB
Plaintext
47 lines
1.4 KiB
Plaintext
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)
|
|
}
|