[R-meta] Question on robust multilevel meta-analysis with subgroups

Viechtbauer, Wolfgang (SP) wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Fri Jul 3 12:47:29 CEST 2020

Dear Hellen,

For your general model, you are not showing the code for using the RVE method. That would be:

robust(General_model, cluster = df$Study) # adjust=TRUE is the default anyway

As for the subgroup analyses: Do you actually want to subgroup or use 'Subdomain' as a moderator? Right now, you are doing the latter, which is fine, but your description sounds more like you actually want to subgroup the studies. The difference in essence is: Do you want to allow the variance components to differ across subsets or do you want to assume that they are the same? A discussion of this distinction (for a simpler model, but along the same lines) can be found here:


If you want to subgroup, you could do:

subdomains <- unique(df$Subdomain)

subdomain1 <- rma.mv(yi, vi, random = ~ 1 | Study/Tasks, tdist = TRUE, studlab = paste("Author","Task"), data = df, subset = Subdomain == subdomains[1]) # method = "REML" is the default anyway

robust(subdomain1, cluster = df$Study)

and so on for the other subdomains. 

Note: For the general model you wrote "Studies" but then you wrote "Study" for the second model.

Since you are using RVE, you might want to stick to using 'Subdomain' as a moderator though. The RVE method works asymptotically, that is, as long as the number of studies is sufficiently large. The subgroups might become quite small, in which case the RVE approach might become less trustworthy.

You might also want to consider using the 'clubSandwich' package instead for the RVE approach. This uses better small-sample adjustments. In other words:

coef_test(General_model, vcov="CR2")
coef_test(subgroup_analyses, vcov="CR2")


coef_test(subdomain1, vcov="CR2")

if you really want to subgroup.


>-----Original Message-----
>From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-project.org]
>On Behalf Of Hellen Mirr
>Sent: Thursday, 02 July, 2020 16:06
>To: r-sig-meta-analysis using r-project.org
>Subject: [R-meta] Question on robust multilevel meta-analysis with subgroups
>Apologies if this is a silly question and thank you in advance for the help
>as I am new to meta-analytic methods.
>I am currently planning to carry out a multilevel meta-analysis in which I
>have multiple effect sizes (continuous outcomes from different tasks in the
>same groups of participants) nested within studies. I would like to
>1) run a multilevel analysis with RVE correction to deal with this issue and
>2) subdivide these studies across different subdomains to run subgroup
>analyses (e.g. 10 studies in subgroup A, 8 in subgroup B etc.). Would it
>therefore be appropriate to run the following
># for the main multilevel analysis
>General_model <-rma.mv(yi, vi, random = ~ 1 | Studies/Tasks, tdist=TRUE,
># for the analysis with subgroups (The subdomain variable)
>subgroup_analyses <-rma.mv(yi, vi, random = ~ 1 | Study/Tasks, tdist = TRUE,
>studlab= paste("Author","Task"),data = df,
>                                 method = "REML",
>                                 mods = ~ Subdomain)
># RVE
>subgroup_analyses _robust <-robust(subgroup_analyses, cluster = df$Study,
>adjust = TRUE)
>Finally, could I create a forest plot for this robust multilevel analysis
>with the subgroups using the forest.rma function? As at present I am unable
>to plot it.
>Thanks again for the help

More information about the R-sig-meta-analysis mailing list