Skip to content

[R-meta] Multilevel meta-analysis with a categorical moderator | subgroup analysis using meta-regression

3 messages · Wolfgang Viechtbauer, Katharina Agethen

#
Dear all,


I am coming back to this thread because I am struggling with the following issue after removing effect sizes from my dataset:


I fitted the following multi-level meta-regression model, allowing heterogeneity to differ between subgroups.

No. of samples/effect sizes per subgroup
sub1: 117/315

sub2: 24/28

sub3: 30/45


mod.pertypetau <-  rma.mv(yi = z,
                          V = vz,
                          slab = samid,
                          data = dfa,
                          random = list(~pertype | samid, ~pertype | esid),
                          method = "REML",
                          dfs="contain",
                          mods = ~ pertype-1,
                          struct = c("DIAG", "DIAG"))
mod.pertypetau

When profiling the variance components, the peak for gamma2.2 and gamma 2.3 is at zero (also checked the CIs, which include zero). All other components are fine.

Is it advisable to use struct=("DIAG", "ID") instead?

mod.pertypetau.ID <-  rma.mv(yi = z,
                          V = vz,
                          slab = samid,
                          data = dfa,
                          random = list(~pertype | samid, ~pertype | esid),
                          method = "REML",
                          dfs="contain",
                          mods = ~ pertype-1,
                          struct = c("DIAG", "ID"))

The profile plot for gamma2 seems to be okay, as it does not have its peak at zero (only a small gap on the far right side).

I compared the two models:
df       AIC       BIC      AICc   logLik     LRT   pval        QE
Full     9 -283.8467 -248.2675 -283.3667 150.9233                3423.3270
Reduced  7 -276.1990 -248.5263 -275.9019 145.0995 11.6477 0.0030 3423.3270


In my opinion, this creates a bit of a dilemma. The statistical test suggests keeping the more complex model, but the more complex model had profiling issues.

Do you have any recommendations how to best handle this issue?


Thanks a lot,

Katharina
#
Dear Katharina,

If I understand you correctly, gamma2.1 > 0, but gamma2.2 and gamma2.3 are estimated to be zero. That is not an inherent problem. If a variance component is estimated to be zero, then the peak of its profile log-likelihood will also be at zero. See also:

https://wviechtb.github.io/metafor/reference/profile.rma.html#interpreting-profile-likelihood-plots

So, no, I would not switch to struct=("DIAG","ID"), especially since the model with struct=c("DIAG","DIAG")) seems to fit better according to the LRT.

Best,
Wolfgang
#
Thanks for the quick response and clarifying, Wolfgang!


Yes, you are right. gamma2.2 and gamma2.3 are estimated to be zero, whereas the estimate for gamma2.1 is 0.0121. I misunderstood the part of the "Interpreting profile likelihoods plots" regarding the peak at zero. So, thank you :)


Best,

Katharina