[R-meta] Omnibus test of moderators in a model with an interaction term
Gabriele Midolo
gabriele.midolo at gmail.com
Thu Jan 4 17:46:17 CET 2018
I am using anova() to perform the ombibus test by setting the "btt"
argument to estimate the amount of residual heterogeneity reduced for each
moderator in an rma.mv model. For example, if I interpret this correctly,
in a model with two moderators (and no interaction) I get the QM of the
model with:
> anova(res)
Test of Moderators (coefficient(s) 2:3):
QM(df = 2) = 24.8445, p-val < .0001
Then I can estimate QM of moderator number 1 and 2 with:
> anova(res,btt=2)
Test of Moderators (coefficient(s) 2):
QM(df = 1) = 15.7282, p-val < .0001
> anova(res,btt=3)
Test of Moderators (coefficient(s) 3):
QM(df = 1) = 9.8144, p-val = 0.0017
The sum of the two QM values is 25.5, which somehow close to what
obtained in the "anova(res)", so *is this the way to split the total
QM and estimate the amount of residual heterogeneity for each
moderator?*
But what happens when I want to do the same in a model where there is
an interaction?
Suppose I have the following, where sNadd is a continuous variable and
Fert is a categorical variable:
topSR<-rma.mv(yi~sNadd*Fert, vi, data=Sr, random =~1|Experiment/ID)
> topSR
Multivariate Meta-Analysis Model (k = 193; method: REML)
Variance Components:
estim sqrt nlvls fixed factor
sigma^2.1 0.0576 0.2400 83 no Experiment
sigma^2.2 0.0065 0.0809 193 no Experiment/ID
Test for Residual Heterogeneity:
QE(df = 189) = 1281.7188, p-val < .0001
Test of Moderators (coefficient(s) 2:4):
QM(df = 3) = 56.8972, p-val < .0001
Model Results:
estimate se zval pval ci.lb ci.ub
intrcpt -0.2368 0.0387 -6.1122 <.0001 -0.3127 -0.1608 ***
sNadd -0.1838 0.0272 -6.7686 <.0001 -0.2370 -0.1306 ***
FertbNH4 0.1567 0.0612 2.5603 0.0105 0.0367 0.2766 *
sNadd:FertbNH4 0.1308 0.0335 3.8996 <.0001 0.0651 0.1966 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
I want to calculate the contribution that sNadd and Fert have to
reduce residual heterogeneity individually to show this in a table of
a paper. I think I should estimate this with:
> anova(topSR,btt=c(1,3))
Test of Moderators (coefficient(s) 1,3):
QM(df = 2) = 40.2180, p-val < .0001
> anova(topSR,btt=c(2,4))
Test of Moderators (coefficient(s) 2,4):
QM(df = 2) = 53.0494, p-val < .0001
so to split the intercept values and the slope values. Does this makes sense?
But the sum of the QM values you obtain is much higher than the test
of moderators found in the model output. I am no longer sure if it
makes sense to report QM for "Fert" and "sNadd" separately in a model
where these terms are part of an interaction. Also, the sum of the
individual factors and the interaction terms is much larger than the
total QM, indicating that the explained heterogeneity is given by the
full interactive term, and you cannot really split it between the
factor ("Fert") in isolation and the interaction between "sNadd" and
Fert.
*Is this really the case and, if yes, is there a way to do the same as
I did for the model without interaction?*
Hope I explained myself correctly.
Thank you so much and with my best,
Gabri
[[alternative HTML version deleted]]
More information about the R-sig-meta-analysis
mailing list