Brant Inman writes:
I have to pool simple proportions (success rates of a surgical intervention) from a number of studies for a meta-analysis. You describe a beta-binomial Bayesian approach in BDA which works for this and I have written some code in R to use this model. But what about when there are 3-4 study level predictors that I want to assess in meta-regression? Can lmer be used for this? How would you use organize your dataset so that lmer can do it?
Here is an example dataset with only 1 covariate from: TR Einarson. Clin Ther 1997, 19(3): 559
nailfungus <- data.frame(matrix(c(28,14,13,12,33,10,20,2,55,1,28,2,33,12,911,243, 80,20,77,23,94,3,36,15,111,49,122,44,269,108), ncol=2, byrow=T)) colnames(nailfungus) <- c('success', 'failure') nailfungus$drug <- c(rep('A',12), rep('B',3))
My reply: Yes, you should be able to do it in lmer() using the binomial regression model. You just have to expand the group-level predictors to the data level (as with predictors such as u.full for the county-level uranium in the radon example in the ARM book).
Have you considered using MiMa? MiMa is a function to fit meta-analytic mixed-, random-, and fixed-effects models via ML, REML etc in R (aka meta-regression).
On page 321 of the book(ARM), it is explained that binomial-normal model can be used for overdispersed data. When I tried to simply add data-level predictor lmer gave me error. Let say that we have three predictors (nested) A,B,C. I used
"lmer(cbind(Sucesses,Trials-Sucesses)~1+(1|A/B/C),data=N3,family=binomial(link=logit))" and I got
"Error in mer_finalize(ans, verbose) : q = 2208 > n = 2000"
Bernd,
This looks fine but what does it offer to me that lmer() doesn't have?
Ali,
I'm not familiar with the nesting notation in lmer(). You could ask the R help group.
Is there any worked-out example of a binomial-normal model as suggested on Page 321, fitted by lmer? I could not figure it out how to fit even a simple binomial-normal model.
Since binomial-normal is not one of the supported family of lmer, I tired to model data-level error (i.e. epsilon_i on page 321) as another random effect. However, by adding this data-level error as random effect the total number of random effects exceeds the number of data and this causes error in this form
Thanks,
Ali
"Error in mer_finalize(ans, verbose) : q > n "