[R] Meta-regression with lmer() ? If so, how ?

Viechtbauer Wolfgang (STAT) Wolfgang.Viechtbauer at STAT.unimaas.nl
Fri Nov 10 11:24:15 CET 2006


I guess I'll chip in, since I wrote that function (which is going to be
updated thoroughly in the near future -- I will probably expand it to an
entire package).

> > Have a look at "MiMa" at Wolfgang Viechtbauer's page. Is that what
> > you are looking for?
> >
> > <http://www.wvbauer.com/downloads.html>
> 
> As far as I can tell, mima does what I mean to do, but there are some
> limits :
> 
> - mima works on effects, and therefore has an "unusual" form in R
models

The dependent variable to be used with the mima function can be any
measure for which we have a known sampling variance (or approximately
so) and that is (approximately) normally distributed. So, the dependent
variable could be log odds ratios, log risk ratios, standardized mean
differences, and so on. Are you looking for the option to input the
results from each study arm individually? (e.g., the log odds for a
control and a treatment group). You could also use mima then (with an
appropriately coded moderator). However, it would then make more sense
to assume a common (but random) intercept for all the arms from a single
study. At this point, the function isn't set up that way, but I think I
could rewrite it to do that.
 
> - as far as I can tell, mima allows to asses the effect of variables
> *nesting* studies, but not of variables *crossed* in each study ;
> therefore, ypou cannot directly test the effect of such variables ;

I am not sure if I understand this point. I think this may relate to the
fact that (if I understand it correctly), you want to input the results
from each arm separately.

> - as far as I can tell, the variables of interest ("moderators", in
mima
> parlance) can be either two-level factors, booleans or numeric
> variables, i. e variables having a single regression coeffiient : mima
> builds an estimator for the regression coefficient of each variable
and
> its variance, and tests by a Z-test. This is not applicable to
n-valued
> factors (n>2) or ordered factors, which could be tested by
> {variance|deviance} analysis.

You can also test for blocks of moderators with the mima function. Let's
say you have two dummy variables that are coded to indicate differences
between three groups (e.g., low, medium, and high quality studies). Now
you want to test if quality makes at all a difference (as opposed to
testing the two dummy variables individually). Use the out="yes" option
and then do the following:

1) from $b, take the (2x1) subset of the parameter estimates
corresponding to the two dummy variables; denote this vector with b.sub
2) from $vb, take the (2x2) subset from the variance-covariance matrix
corresponding to the two dummy variables (i.e., their variances and the
covariance); denote this vector with vb.sub
3) then t(b.sub) %*% solve(vb.sub) %*% b.sub is approximately chi-square
distributed under H0 with 2 degrees of freedom.

I am also going to add to the function the option to output the log
likelihood value. Then likelihood ratio tests are a snap to do with full
versus reduced models. But for now, the above should work.

Feel free to get in touch with me via e-mail.

Best,

-- 
Wolfgang Viechtbauer 
 Department of Methodology and Statistics 
 University of Maastricht, The Netherlands 
 http://www.wvbauer.com/



More information about the R-help mailing list