[R-meta] multivariate meta-analysis or mixed model approach
Juan Pablo Edwards Molina
edwardsmolina at gmail.com
Tue Aug 8 18:46:26 CEST 2017
Dear list,
I need to estimate the intercept and slope of two variables relationship
(across 38 studies), let's say: y ~ x.
Based on this tutorial (http://www.metafor-project.
org/doku.php/tips:two_stage_analysis#mixed-effects_model_approach)
I don't know which of the two possible approaches is most suitable:
- Two-stage ultivariate approach: Estimating (est) at first stage each
study terms (intercept-slope), var-cov matrix (V) and then
mv1 <- rma.mv(est, V, mods = ~ term -1, random = ~ term | study,
struct="UN", data=df1, method="ML")
with this output:
> print(mv1, digits=3)
Multivariate Meta-Analysis Model (k = 76; method: ML)
Variance Components:
outer factor: study (nlvls = 38)
inner factor: term (nlvls = 2)
estim sqrt k.lvl fixed level
tau^2.1 424427.426 651.481 38 no b0
tau^2.2 221.540 14.884 38 no b1
rho.b0 rho.b1 b0 b1
b0 1 -0.020 - no
b1 -0.020 1 38 -
Test for Residual Heterogeneity:
QE(df = 74) = 14135.101, p-val < .001
Test of Moderators (coefficient(s) 1:2):
QM(df = 2) = 1070.927, p-val < .001
Model Results:
estimate se zval pval ci.lb ci.ub
termb0 3475.110 107.220 32.411 <.001 3264.963 3685.257 ***
termb1 -17.733 2.620 -6.768 <.001 -22.869 -12.598 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
========================================================
or simply go into mixed model approach:
library(lme4)
mix1 <- lmer(y ~ x + ( x |study), data=df, REML=F)
with this output
> summary(mix1)
Linear mixed model fit by maximum likelihood ['lmerMod']
Formula: yield ~ sev + (sev | study)
Data: longs
AIC BIC logLik deviance df.resid
20196.8 20228.3 -10092.4 20184.8 1423
Scaled residuals:
Min 1Q Median 3Q Max
-4.6511 -0.5715 0.0155 0.5255 3.7780
Random effects:
Groups Name Variance Std.Dev. Corr
study (Intercept) 422064.2 649.66
sev 159.4 12.63 0.04
Residual 65708.3 256.34
Number of obs: 1429, groups: study, 38
Fixed effects:
Estimate Std. Error t value
(Intercept) 3456.186 106.967 32.31
sev -16.460 2.328 -7.07
Correlation of Fixed Effects:
(Intr)
sev -0.032
================================================================
The mixed model approach yields lower SE of the effects: is it a good point
to decide among both
approaches?
I'm also interested on test moderator variables than can improve the models:
mv2 <- rma.mv(est, V, mods = ~ term + term:year - 1,
random = ~ term | study,
struct="UN", data=df1, method="ML")
Is it right under multivariate approach?
or
mix2 <- lmer(y ~ x * year + (x|study), data=df, REML=T)
I really appreciate your advices!
*Juan Edwards*
[[alternative HTML version deleted]]
More information about the R-sig-meta-analysis
mailing list