# Mixed effects meta-analysis using metafor package in R

I would like to meta-analyse raw mean differences (MDs) in systolic blood pressures (BPs) according to soda intake (i.e. drinkers vs. non-drinkers). The problem is that there are important differences between drinkers and non-drinkers in each study (e.g. age, bmi, gender) which blur the association between soda intake and BP. I would like to account for these differences when calculating a pooled MD in BP between drinkers and non-drinkers.

Below is the analysis (using metafor):

### set-up data
study=c(1,2,3,4,5,6)
md_BP=c(3,4,4.5,6,7,10) ### raw mean differences in BP
se_md_BP=c(0.81,0.88,1.38,2.57,1.39,1.95) ### standard error of the raw mean differences in BP
md_age=c(-4.2,-3,2,0,2,3) ### raw mean differences in age
md_bmi=c(-4,-1.5,0,2,3,4) ### raw mean differences in bmi
d_gender=c(29.9,0,0,0,0,8) ### differences in % males (i.e. drinkers%-non-drinkers%)
df=data.frame(study,se_md_BP,md_BP,md_age,md_bmi,d_gender)

model1<-rma(yi=md_BP,sei=se_md_BP,data = df,mods = ~ d_gender+md_age+md_bmi)

summary(model1)


Results:

Mixed-Effects Model (k = 6; tau^2 estimator: REML)

logLik  deviance       AIC       BIC      AICc
-3.3755    6.7511   16.7511   10.2168   76.7511

tau^2 (estimated amount of residual heterogeneity):     0 (SE = 2.9702)
tau (square root of estimated tau^2 value):             0
I^2 (residual heterogeneity / unaccounted variability): 0.00%
H^2 (unaccounted variability / sampling variability):   1.00
R^2 (amount of heterogeneity accounted for):            100.00%

Test for Residual Heterogeneity:
QE(df = 2) = 0.6828, p-val = 0.7108

Test of Moderators (coefficient(s) 2,3,4):
QM(df = 3) = 14.5999, p-val = 0.0022

Model Results:

estimate      se     zval    pval    ci.lb   ci.ub
intrcpt      4.8431  0.7021   6.8977  <.0001   3.4670  6.2193  ***
md_gender    0.0532  0.0505   1.0535  0.2921  -0.0458  0.1521
md_age      -0.1818  0.4471  -0.4066  0.6843  -1.0580  0.6944
md_bmi       1.0360  0.5219   1.9853  0.0471   0.0132  2.0588    *

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


Is the analysis above a methodologically sound approach (e.g. with mean differences [for age and bmi] and % difference [for gender] as moderators) to solving the stated problem?

Also, are the following statements regarding the results correct?

1. After accounting (correct word?) for differences in age, gender and bmi between the two groups, soda drinkers had significantly higher BP than non-drinkers (MD=4.84; 95% CI 3.47-6.22). (Note that these confidence intervals are more certain than when the moderators are not included in the analysis - I would be grateful for reassurance that this is fine.)

2. The test for residual heterogeneity was not significant QE(df = 2) = 0.6828, p-val = 0.7108. I2 was 0.00%.

3. There combined influence of the moderators (age, gender and bmi) on BP was statistically significant, according to the omnibus test (p-val = 0.0022).

Thank you!

Thank you for providing a reproducible example.

Your statements all seem fine to me. Your estimates are more precise because the moderators account for the heterogeneity.

Two points to consider:

1 - note that your moderators are ecological. What you are accounting for is not the individual's age but the effect of being enrolled in a study with people of a certain age, and so on.

2 - I personally would not have included three moderators with only six studies but other people do.

• Thank you for answering my question. @Wolfgang - As author of the excellent metafor package, would you add anything else? – Jimmy Jul 1 '16 at 13:30
• Thanks again for your answer. So is it not necessary to "centre" the moderators (e.g. like in metafor-project.org/doku.php/tips:testing_factors_lincoms)? Also, with respect to your comment about the moderators being "ecological", does this change the interpretation of the results? In other words can the MD as calculated using the mods = ~ d_gender+md_age+md_bmi function (i.e. the mixed effects model) be interpreted in the exact same way as when that function is not used (i.e. the normal random effects model)? Is this related to the "ecological fallacy"? Thank you! – Jimmy Jul 4 '16 at 20:04
• You would centre the moderators for ease of interpretation so for example if you have age in years the intercept is the pedicted value for someone aged zero. It might therefore be better to roughly centre the ages, say by subtracting 40, so that the intercept was for someone aged 40. – mdewey Jul 5 '16 at 12:26
• It is an ecological model because you are estimating not the effect of age but of being with people of a certain age. These are not the same. Perhaps a better example is ethnicity where the effect of being Black is not the same as the effect of living in a neighbourhood with a majority Black population. – mdewey Jul 5 '16 at 12:28
• Thank you @mdewey. It is great that you answer all these questions. Unfortunately, there are a couple of things I am still not sure of but rather than state them here I have started a new question. I would be extremely grateful if you would take a look and comment if possible. stats.stackexchange.com/questions/222268/… – Jimmy Jul 5 '16 at 15:47