Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

I posted a question to the R-Mixed-Model mailing list but have not had any responses yet:
—————————————————————————————
Dear All,

I wonder if anybody has tried to make glmmBUGS work with JAGS. My
attempt was not successful.

Here is the simple example I copied from the glmmBUGS Vignettes:

------------------------
library(MASS)
data(bacteria)

bacterianew <- bacteria
bacterianew$yInt = as.integer(bacterianew$y == "y")

levels(bacterianew$trt) <- c("placebo", "drug", "drugplus") library(glmmBUGS) bacrag <- glmmBUGS(formula = yInt ~ trt + week, data=bacterianew, effects = "ID", modelFile="model.bug", family="bernoulli") names(bacrag$ragged)

source("getInits.R")

startingValues = bacrag$startingValues ------------------------ With WinBUGS, it runs well: ------------------------ library(R2WinBUGS) bacResult1 = bugs(bacrag$ragged, getInits, model.file="model.bug", n.chain=3,
n.iter=2000, n.burnin=100, parameters=names(getInits()), n.thin=10)
------------------------

But with JAGS, I got error message "Error in FUN(50L[[1L]], ...) :
invalid first argument"

------------------------
library(R2jags)

jags.parms=names(getInits())

bacResult = jags(data=bacrag$ragged, n.chain=3, n.iter=2000, model.file=model.bug) ------------------------ I hope somebody can help me figuring out how to make this work. Many thanks. Best, Shige --------------------------------------------------------------------------------------- Here is the answer from Jens Åströ --------------------------------------------------------------------------------------- Hi! Not an expert by any means, but I got it to run by doing this: 1) change inprod2 to inprod in the model file (JAGS does not have inprod2 function) 2) change ~dflat() to other uninformative prior, e.g. ~dnorm(0.0,1.0E-6) (Jags does not have dflat distribution) 3) specify/compile the model with e.g. bac.jags<-jags.model("model.bug",data=bacrag$ragged,n.chains=4)

4) update it, update(bac.jags,1000)

5) Collect coda samples,
bacResult<-coda.samples(temp,names(getInits()),n.iter=10000,thin=10)

This seemed to converge well, (gelman.diag(bacResult))

Good luck
----------------------------------------------------------------------------------------

It works.