model{ for (j in 1:N){ DD[j] ~ dnorm(theta[j], tau); theta[j] <- p[j] * mu1[j] + (1-p[j]) * mu2[j]; mu1[j] ~ ddexp(0, tau1); latent[j]~dcat(pi[1:L]) # L is the truncation point. We need to put a value for L mu2[j] <-theta[latent[j]] #mu2[j] ~ ddexp(0, tau2); p[j] ~ dbern(r[j]); r[j] ~ dbeta(1, inputp) } tau ~ dgamma(1, inputs); tau1 ~ dgamma(at1, bt1); tau2 ~ dgamma(at2, bt2); }