model = "tmp_model.bug" write(" model { n.I.1 ~ dbin(p1, ns1) p1 ~ dbeta(r0, s0) n.NI.1 <- ns1 - n.I.1 nP.I.1 ~ dbin(pi1, n.I.1) nP.NI.1 ~ dbin(pi2, n.NI.1) nP.1 ~ sum(nP.I.1, nP.NI.1) n.I.2 ~ dbin(p2, ns2) p2 ~ dbeta(r0, r0) n.NI.2 <- ns2 - n.I.2 nP.I.2 ~ dbin(pi1, n.I.2) nP.NI.2 ~ dbin(pi2, n.NI.2) nP.2 ~ sum(nP.I.2, nP.NI.2) Dp <- p2 - p1 pi1 ~ dbeta(r1, s1) pi2 ~ dbeta(r2, s2) } ", model) library(rjags) set.seed(193) nr = 1000000 ns1 = 10000 ns2 = 10000 # they could be different nP.1 = 2000 nP.2 = 2200 r0 = s0 = 1 # flat prior r1 = 409.1; s1 = 9.1 r2 = 25.2; s2 = 193.1 data <- list(ns1=ns1, ns2=ns2, nP.1=nP.1, nP.2=nP.2, r0=r0, s0=s0, r1=r1, s1=s1, r2=r2, s2=s2) jm <- jags.model(model, data) update(jm, 10000) to.monitor <- c('p1', 'p2', 'Dp') chain <- coda.samples(jm, to.monitor, n.iter=nr) print(summary(chain))