ACE Cholesky; Log Transformed Variables
Attachment | Size |
---|---|
2ACE_Chol FINAL.R | 5.92 KB |
I'm running a multivariate ACE Cholesky on three variables, and outputting individual pathways a11, a21, a31, etc for a, c, and e, as well as overall heritability and environmental estimates, h2, c2, e2. However, one of those variables, the third input one, had a skewness and kurtosis level just outside acceptable ranges.
I log transformed the third variable, and then ran the analyses again. However, this time, while the overall heritability and environmental estimates make sense, the individual pathways for the third variable no longer add up. For example, the "e" pathways look like this:
15 e31 e 3 1 5.413679e-02 0.07613723
17 e32 e 3 2 -1.152992e-01 0.05596996
18 e33 e 3 3 -1.517046e-01 0.03867226
which, if I'm not mistaken, when calculated will give an overall e2 of .04. However, the overall heritability estimate gives me an overall e^2 of .94.
> mxEval(CholACE.e2, CholAceFit)
[,1] [,2] [,3]
[1,] 0.27192352 0.06743575 0.8606850
[2,] 0.06743575 0.44251383 0.9427354
[3,] 0.86068505 0.94273539 0.9416589
Furthermore, the a31, a32, a33 pathways as well as the c pathways of the same aren't adding up in terms of calculated h2 and c2 to a total of 1.00. Could anyone help me as to what exactly is causing this? At first I thought it might be something to do with the log values, but I played around with them, multiplied them by multiples of 10, and the values are still off.
I'm wondering if it is something to do with the code and how the pathways are calculated; I contemplated whether it was the data itself, but even if it was skewed, wouldn't the calculated h2, c2, and e2 from the individual pathway estimates still all add up to 1? And why would there be a discrepancy with the overall h2, c2, and e2 output?
If anyone could help me with this, it would be much appreciated. My code is attached. Thank you all!
'e' isn't standardized
These are the path coefficients from your MxMatrix named 'e', right? Then you should expect the [3,3] element of MxMatrix 'E', not of 'e2', to be about 0.04. It may well be correct for the [3,3] element of 'e2' to be about 0.94, since 'e2' is 'E' element-wise divided by 'V'.
Do a2[3,3], c2[3,3], and e2[3,3] sum to 1?
Edit: sorry, I should have written h2[3,3] instead of a2[3,3].
Log in or register to post comments
In reply to 'e' isn't standardized by AdminRobK
No, unfortunately. Here's the
free parameters:
name matrix row col Estimate Std.Error
1 a11 a 1 1 8.025671e-01 0.16830304
2 a21 a 2 1 6.829409e-01 0.16438307
3 a31 a 3 1 -1.135809e-02 0.07866882
4 a22 a 2 2 -1.423489e-07 0.18995709
5 a32 a 3 2 -4.586746e-07 0.10463971
6 a33 a 3 3 -2.106173e-07 0.10357167
7 c11 c 1 1 2.850488e-01 0.40005257
8 c21 c 2 1 2.618797e-01 0.36618931
9 c31 c 3 1 4.797993e-02 0.08006657
10 c22 c 2 2 -1.872989e-07 0.18184398
11 c32 c 3 2 -2.746223e-07 0.12103150
12 c33 c 3 3 -4.117884e-07 0.11346927
13 e11 e 1 1 5.204916e-01 0.07839520
14 e21 e 2 1 8.651959e-02 0.11928019
15 e31 e 3 1 5.413679e-02 0.07613723
16 e22 e 2 2 -6.458876e-01 0.06477847
17 e32 e 3 2 -1.152992e-01 0.05596996
18 e33 e 3 3 -1.517046e-01 0.03867226
> mxEval(CholACE.h2, CholAceFit)
[,1] [,2] [,3]
[1,] 0.6465201 0.82077935 -0.278435567
[2,] 0.8207794 0.48602126 -0.092385549
[3,] -0.2784356 -0.09238555 0.003095895
> mxEval(CholACE.c2, CholAceFit)
[,1] [,2] [,3]
[1,] 0.08155638 0.11178490 0.41775052
[2,] 0.11178490 0.07146491 0.14965016
[3,] 0.41775052 0.14965016 0.05524525
> mxEval(CholACE.e2, CholAceFit)
[,1] [,2] [,3]
[1,] 0.27192352 0.06743575 0.8606850
[2,] 0.06743575 0.44251383 0.9427354
[3,] 0.86068505 0.94273539 0.9416589
Log in or register to post comments
In reply to No, unfortunately. Here's the by Lux Whitehaven
?
h2[3,3] = 0.003095895
c2[3,3] = 0.05524525
e2[3,3] = 0.9416589
0.003095895 + 0.05524525 + 0.9416589 = 1
The diagonal elements of 'h2', 'c2', and 'e2' are the standardized variance components (a.k.a. variance proportions) for the respective trait. So, for instance, about 94% of the variance in trait #3 is due to the nonshared environment.
BTW, you won't be able to square and sum path coefficients from the free parameters table and expect to get 1, since those path coefficients aren't standardized.
Log in or register to post comments
In reply to ? by AdminRobK
Ah, I see! It was the free
Log in or register to post comments