model {
# region-specific means
p[1:num.prey] ~ ddirch(alpha[]);
for(i in 1:num.prey) {
p2[i] <- p[i]*p[i]; # these are weights for variances
}
# for each isotope and population, calculate the predicted mixtures
for(iso in 1:num.iso) {
mix.mu[iso] <- inprod(u[1:num.prey,iso],p[1:num.prey]);
mix.var[iso] <- inprod(sigma2[1:num.prey,iso],p2[1:num.prey]);
mix.prcsn[iso] <- 1/(mix.var[iso]);
}
# This section does the likelihood / posterior, N data points
for(i in 1:N) {
for(iso in 1:num.iso) {
X[i,iso] ~ dnorm(mix.mu[iso], mix.prcsn[iso]);
}
}
}