# 8.2 EFM analysis - 5 different models/priors model; { for(j in 1:9){ # j indexes trial # (1) fixed effect based on normal approximation y1[j]<- y[j] y1[j] ~ dnorm(theta[1,j],sigma2.inv[j]) theta[1,j] ~ dunif(-10,10) # (2) pooled effect based on normal approximation y2[j]<- y[j] y2[j] ~ dnorm(theta[2,j],sigma2.inv[j]) theta[2,j] <- mu[2] # (3) random effect based on normal approximation y3[j]<- y[j] y3[j] ~ dnorm(theta[3,j],sigma2.inv[j]) theta[3,j] ~ dnorm(mu[3],tau2.inv[3]) # (4) random, exact binomial, indep uniform rt4[j] <- rt[j]; rc4[j] <- rc[j] rt4[j] ~ dbin(pt4[j],nt[j]) rc4[j] ~ dbin(pc4[j],nc[j]) logit(pt4[j]) <- theta[4,j] + logit(pc4[j]) pc4[j] ~ dunif(0,1) theta[4,j] ~ dnorm(mu[4],tau2.inv[4]) # (5) random, exact binomial, indep on logodds rt5[j] <- rt[j]; rc5[j] <- rc[j] rt5[j] ~ dbin(pt5[j],nt[j]) rc5[j] ~ dbin(pc5[j],nc[j]) logit(pt5[j]) <- theta[5,j] + phi5[j] logit(pc5[j]) <- phi5[j] phi5[j] ~ dunif(-10,10) theta[5,j] ~ dnorm(mu[5],tau2.inv[5]) } phi.mean ~ dunif(-10,10) # uniform on control group mean phi.sd ~ dunif(0,50)# Prior: Uniform(0,50) on tau phi.prec <- 1/(phi.sd*phi.sd) for(i in 1:5){ mu[i] ~ dunif(-10,10) # uniform on overall mean tau[i] ~ dunif(0,50)# Prior: Uniform(0,50) on tau tau2.inv[i] <- 1/(tau[i] * tau[i]) } # j again indexes study number for(j in 1:9) { dummy[j]<-id[j]+date[j] # just to mention all data # log-odds ratios y[j] <- log(((rt[j] + 0.5)/(nt[j] - rt[j] + 0.5))/((rc[j] + 0.5)/(nc[j] - rc[j] + 0.5))) # variances & precisions sigma2[j] <- 1/(rt[j] + 0.5) + 1/(nt[j] - rt[j] + 0.5) + 1/(rc[j] + 0.5) + 1/(nc[j] - rc[j] + 0.5) sigma2.inv[j] <- 1/sigma2[j] } }