[R-meta] Comparing dependent, overlapping correlation coefficients
Viechtbauer, Wolfgang (SP)
wolfg@ng@viechtb@uer @ending from m@@@trichtuniver@ity@nl
Tue Oct 9 17:17:57 CEST 2018
Thanks. Ok, then I think I got things right.
And yes, your interpretation is correct (although I cannot tell without the results from anova() if that difference in slopes is really significant).
I am not a big fan of standardizing predictors. Instead, you could rescale M, e.g., divide M by 10 or 100, so one unit then means 10ms or 100ms. Then the slopes won't be quite so small (which is actually the same thing as just multiplying the slopes by the same factor).
Best,
Wolfgang
-----Original Message-----
From: Anna-Lena Schubert [mailto:anna-lena.schubert using psychologie.uni-heidelberg.de]
Sent: Tuesday, 09 October, 2018 16:44
To: Viechtbauer, Wolfgang (SP); r-sig-meta-analysis using r-project.org
Subject: Re: [R-meta] Comparing dependent, overlapping correlation coefficients
Thanks for your response! My code was
res <- rma.mv(yi, dat_meanRT$V, mods = ~ var1var2*M - 1, random = ~ var1var2 | id, struct="UN", data=dat_meanRT$dat)
and the moderating variable were reaction times in ms. I guess that would mean that for each increased ms in reaction times, Cor(X,Z) becomes more negative than Cor(Y,Z). I guess I could think about z-standardizing the moderating variable to make those slopes more interpretable?
Best,
Anna-Lena
Am 09.10.2018 um 16:27 schrieb Viechtbauer, Wolfgang (SP):
Please post the code that you used to fit a particular model.
But as far as I can tell, with the parameterization below, the coefficient for 'M' (i.e., 0.0001) is the slope of the moderator for Cor(X.Y), while coefficients 'X.Z:M' and 'Y.Z:M' indicate how different the slopes are for Cor(X.Z) and Cor(Y.Z). So, the slope for Cor(X.Z) is actually 0.0001 + -0.0004, while the slope for Cor(Y.Z) is 0.0001 + -0.0001. I do not know what units are used for M, but these slopes tell you how the correlations change for a one-unit increase in M.
The difference between the slopes is therefore (0.0001 + -0.0004) - (0.0001 + -0.0001), so the coefficient for 'M' cancels out and indeed, -0.0004 - -0.0001 then tells you how much more/less M moderates the correlation between Cor(X.Z) as opposed to Co(Y.Z). A proper test of the difference between the two slopes is then given by:
anova(res, L=c(0,0,0,0,1,-1))
Whether to includes moderators individually or all at once is a thorny issue. You might want to put the results side-by-side and report both. Also, there are no good guidelines as to how many moderators can be included. Some use rules such as 5 or 10 studies per moderator, but these rules are rather arbitrary.
Best,
Wolfgang
-----Original Message-----
From: Anna-Lena Schubert [mailto:anna-lena.schubert using psychologie.uni-heidelberg.de]
Sent: Tuesday, 09 October, 2018 9:17
To: Viechtbauer, Wolfgang (SP); r-sig-meta-analysis using r-project.org
Subject: Re: [R-meta] Comparing dependent, overlapping correlation coefficients
That makes perfect sense, thank you! How would I interpret the same analysis for a continuous moderator?
estimate se zval pval ci.lb ci.ub
var1var2X.Y 0.6192 0.0670 9.2463 <.0001 0.4879 0.7504 ***
var1var2X.Z -0.0181 0.1013 -0.1789 0.8580 -0.2166 0.1803
var1var2Y.Z -0.3017 0.1149 -2.6258 0.0086 -0.5270 -0.0765 **
M 0.0001 0.0001 0.8208 0.4118 -0.0001 0.0003
var1var2X.Z:M -0.0004 0.0002 -1.6019 0.1092 -0.0008 0.0001
var1var2Y.Z:M -0.0001 0.0002 -0.4270 0.6694 -0.0006 0.0004
I guess this result implies that for each SD (guessing from multi-level analyses here) of the mediator, the association between X and Z get slightly more negative than the association between Y and Z. Is there a way I can test this three-way interaction for significance in the case of a continuous moderator? I'm also wondering if I should include all of my relevant moderators in a single analyses or conduct seperate ones. Interpretation is easier if I look at them separately, but including all in one analyses might be clearer regarding confounding effects? I also don't have that many studies in the analyses (21), so I'm not really sure how many factors I could include in one analysis. What's best practice here? Thanks, Anna-Lena
Am 05.10.2018 um 17:48 schrieb Viechtbauer, Wolfgang (SP):
The first output is more difficult to interpret, so I'll go with the second.
You want to test:
H0: X.Z:M0 - Y.Z:M0 = X.Z:M1 - Y.Z:M1,
which is equivalent to:
H0: X.Z:M0 - Y.Z:M0 - X.Z:M1 + Y.Z:M1 = 0
So, you want to use:
anova(res(0,1,-1,0,-1,1))
And indeed, this is testing if the difference between cor(X,Y) and cor(X,Z) is moderated by M (i.e., is different for M0 vs M1).
Best,
Wolfgang
-----Original Message-----
From: Anna-Lena Schubert [mailto:anna-lena.schubert using psychologie.uni-heidelberg.de]
Sent: Monday, 01 October, 2018 14:47
To: Viechtbauer, Wolfgang (SP); r-sig-meta-analysis using r-project.org
Subject: Re: [R-meta] Comparing dependent, overlapping correlation coefficients
I have recently tried to finish all analyses and have realized that I still haven't fully understood how moderation works here. In the example below, I'm interested in whether the difference between cor(X,Y) and cor(X,Z) is moderated by some factor. From my reading of the metafor examples, var1var2X.Z:M should indicate whether the cor(X,Z) is moderated by M. However, Wolfgang says that term instead describes a moderation of the difference between correlations. I'm perfectly happy to believe him, but I would really like to understand why this is the case.
In my empirical example the results look as follows:
estimate se zval pval ci.lb ci.ub
var1var2X.Y 0.6580 0.0218 30.1818 <.0001 0.6152 0.7007 ***
var1var2X.Z -0.1282 0.0468 -2.7420 0.0061 -0.2199 -0.0366 **
var1var2Y.Z -0.2896 0.0480 -6.0315 <.0001 -0.3837 -0.1955 ***
M1 0.0736 0.0301 2.4474 0.0144 0.0147 0.1326 *
var1var2X.Z:M1 -0.1648 0.0786 -2.0969 0.0360 -0.3188 -0.0108 *
var1var2Y.Z:M1 -0.1266 0.0845 -1.4983 0.1340 -0.2922 0.0390
Here I'm interested in the difference between cor(x,z) and cor(y,z). Which of these interaction terms is critical to the moderation of this correlation, and why? Also, how can I interpret the direction of the effect?
If I look at another display of the same results, I get an understanding of the moderation, but I'm not sure about a clear test here. Would anova(res(0,1,-1,0,1,-1)) be a sensible test? What I'd really want to test would be if X.Z:M0 - Y.Z:M0 = X.Z:M1 - Y.Z:M1
estimate se zval pval ci.lb ci.ub
var1var2X.Y:M0 0.6580 0.0218 30.1818 <.0001 0.6152 0.7007 ***
var1var2X.Z:M0 -0.1282 0.0468 -2.7420 0.0061 -0.2199 -0.0366 **
var1var2Y.Z:M0 -0.2896 0.0480 -6.0315 <.0001 -0.3837 -0.1955 ***
var1var2X.Y:M1 0.7316 0.0207 35.3007 <.0001 0.6910 0.7722 ***
var1var2X.Z:M1 -0.2194 0.0483 -4.5437 <.0001 -0.3140 -0.1248 ***
var1var2Y.Z:M1 -0.3426 0.0491 -6.9767 <.0001 -0.4388 -0.2463 ***
--
Dr. Anna-Lena Schubert
Postdoc at Section of Personality
Heidelberg University - Institute of Psychology
Hauptstraße 47-51
D-69117 Heidelberg
Germany
Phone: +49 6221 54 7746
Mail: anna-lena.schubert using psychologie.uni-heidelberg.de
Web: http://www.psychologie.uni-heidelberg.de/ae/diff/diff/people-schubert.html
More information about the R-sig-meta-analysis
mailing list