I am running a simple random-effects meta-analysis in R using the metafor package, with random intercepts at the study level:

mod1 <- rma.mv(Hedges_g, cov, random = ~ 1 | study, data = rev)

This is the model output:

Multivariate Meta-Analysis Model (k = 90; method: REML)

   logLik   Deviance        AIC        BIC       AICc  
-170.3401   340.6802   344.6802   349.6575   344.8197  

Variance Components: 

            estim    sqrt  nlvls  fixed  factor
sigma^2    0.5512  0.7424     24     no   study

Test for Heterogeneity: 
Q(df = 89) = 1014.3323, p-val < .0001

Model Results:

estimate       se     zval     pval    ci.lb    ci.ub          
  0.9749   0.1572   6.2018   <.0001   0.6668   1.2830

As I understand, the observation of significant heterogeneity means that the estimate of g = 0.97 cannot be regarded as an estimate of one true effect. Rather, the studies in this data set seem to be estimating different true effects.

Now, I'm comparing my model (mod1) to another model without random intercepts at the study level: mod0 <- rma.mv(Hedges_g, cov, data = rev, method = "ML") (I have set method = "ML" for mod1 too, to enable the comparison). This is the output for anova(mod0, mod1):

        df      AIC      BIC     AICc    logLik      LRT   pval        QE
Full     2 347.2963 352.2960 347.4343 -171.6482                 1014.3323
Reduced  1 916.1363 918.6361 916.1818 -457.0682 570.8400 <.0001 1014.3323

Thus, mod1 fits the data significantly better than mod0. This means that the estimated between-study variance of sigma^2 = 0.55, is significant. To me, this would also suggest that the studies are estimating significantly different true effects.

My question now is: what is the difference between the test for heterogeneity, and the model comparison? Do they both lead to the exact same conclusion ("There is heterogeneity among the true effects"), or is there more nuance to it?

  • $\begingroup$ Note that you get the same test for heterogeneity in all three of the models you fitted. Loosely speaking it is a function of the data, not your model. $\endgroup$
    – mdewey
    Oct 28, 2016 at 15:01

1 Answer 1


Let $\theta_{ij}$ denote the true effect for outcome $j$ in study $i$. The test for heterogeneity given in the output tests the null hypothesis $H_0: \theta_{ij} = \theta$ across all outcomes and studies, that is, whether the true effects are all equal to some common true effect $\theta$.

The model you are using (mod1) only allows for heterogeneity in the true effects between studies, not within. Or in other words, it assumes that the true effects within studies are homogeneous. So, let $\theta_{i\bullet}$ denote the true effect for study $i$ that is assumed to be the same for all $j$ outcomes within the study. Then the test you carried out is a test of $H_0 = \theta_{1\bullet} = \ldots = \theta_{k\bullet}$, where $k$ is the number of studies.

Assuming homogeneous true effects within studies is a pretty strong assumption that I would not make a priori. Instead, I would suggest to use a three-level model that allows for heterogeneity between and within studies. You can fit this with:

rev$id <- 1:nrow(rev)
mod2 <- rma.mv(Hedges_g, cov, random = ~ 1 | study/id, data = rev)

See also: http://www.metafor-project.org/doku.php/analyses:konstantopoulos2011

  • $\begingroup$ Thank you for your answer! I completely agree and have updated my analysis to your suggestion. When I compare mod2 to mod1 using a LRT, it is a significant better fit to the data. Thus, the true effects both between and within studies are heterogeneous. But what I still don't understand is what information the Q-test still adds. As @mdewey commented above, its value stays constant over the three models. Does it add any information over and above the model comparisons? $\endgroup$
    – Johanna
    Nov 1, 2016 at 7:56
  • 1
    $\begingroup$ It doesn't add a whole lot. If the Q-test is not significant, there is little point in examining whether there is heterogeneity within or between studies in the first place. But I wouldn't let the results from the Q-test determine what kind of model to fit anyway. $\endgroup$
    – Wolfgang
    Nov 1, 2016 at 11:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.