[R-meta] Two ways to calculate subgroup and overall average effect sizes
Nathan Pace
n.l.pace at utah.edu
Thu Aug 24 13:17:29 CEST 2017
Thanks for the link.
Using struct = ‘ID’ works very nicely.
Best,
Nathan
On 2408//2017, 1:51 AM, "Viechtbauer Wolfgang (SP)" <wolfgang.viechtbauer at maastrichtuniversity.nl> wrote:
You can do a LRT to compare the models. But you have to fit the 'standard' model also with rma.mv(). See here:
http://www.metafor-project.org/doku.php/tips:rma.uni_vs_rma.mv
So, in your case:
painearly.df$id <- 1:nrow(painearly.df)
painearly1surgery.rma <- rma.mv(yi = yi, V = vi, mods = ~ surgery, random = ~ 1 | id,
data = painearly.df, test = 't', digits = 3)
painearly2surgery.rma.mv <- rma.mv(yi = yi, V = vi, mods = ~ surgery,
random = ~ surgery | study, struct = 'DIAG',
data = painearly.df, test = 't', digits = 3)
anova(painearly1surgery.rma, painearly2surgery.rma.mv)
So, that will give you a LRT of H0: tau^2.1 = tau^2.2 = tau^2.3.
Another way to think about this is that this is a comparison between an 'ID' and a 'DIAG' structure.
res0 <- rma.mv(yi = yi, V = vi, mods = ~ surgery,
random = ~ surgery | study, struct = 'ID',
data = painearly.df, test = 't', digits = 3)
res1 <- rma.mv(yi = yi, V = vi, mods = ~ surgery,
random = ~ surgery | study, struct = 'DIAG',
data = painearly.df, test = 't', digits = 3)
anova(res0, res1)
But that will give you the same results (assuming that there are no studies where the same level of 'surgery' occurs more than once).
Best,
Wolfgang
-----Original Message-----
From: Nathan Pace [mailto:n.l.pace at utah.edu]
Sent: Thursday, August 24, 2017 00:44
To: Viechtbauer Wolfgang (SP); r-sig-meta-analysis at r-project.org
Subject: Re: [R-meta] Two ways to calculate subgroup and overall average effect sizes
Hi Wolfgang,
I have a k = 29 SMD meta analysis.
The moderator is a three level factor.
painearly1surgery.rma <- rma(yi = yi, vi = vi, mods = ~ surgery,
data = painearly.df, test = 'knha', digits = 3)
painearly2surgery.rma.mv <- rma.mv(yi = yi, V = vi, mods = ~ surgery,
random = ~ surgery | study, struct = 'DIAG',
data = painearly.df, test = 't', digits = 3)
There is a nearly 10 fold variation in the individual tau^2s.
Variance Components:
outer factor: study (nlvls = 29)
inner factor: surgery (nlvls = 3)
estim sqrt k.lvl fixed level
tau^2.1 0.082 0.287 8 no open
tau^2.2 0.759 0.871 10 no lap
tau^2.3 0.086 0.294 11 no other
The average tau^2 is:
tau^2 (estimated amount of residual heterogeneity): 0.312 (SE = 0.110)
tau (square root of estimated tau^2 value): 0.559
The omnibus test of moderators is not rejected in either model.
Test of Moderators (coefficient(s) 2:3): (average tau^2)
F(df1 = 2, df2 = 26) = 2.082, p-val = 0.145
Test of Moderators (coefficient(s) 2:3): (individual tau^2)
F(df1 = 2, df2 = 26) = 2.643, p-val = 0.090
Is there a meaningful statistical comparison of the individual tau^2s?
Are there other ways to compare the model fits (AIC or BIC)?
The anova function won’t mix rma.uni and rma.mv objects.
Nathan
More information about the R-sig-meta-analysis
mailing list