![Page 1: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/1.jpg)
Longitudinal ModelingNathan, Lindon & Mike
LongitudinalTwinAnalysis_MatrixRawCon.R
GenEpiHelperFunctions.R
jepq.txt
![Page 2: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/2.jpg)
Estimate time-dependent genetic and environmental effects- changes in the magnitude of genetic & environmental influence across time- same versus different genes across development- identify factors driving change versus factors maintaining stability
Improve power by using multiple observations from the same individual and the cross twin cross trait correlations
Why run longitudinal models?
![Page 3: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/3.jpg)
Cholesky Decomposition - Advantages - Logical: organized such that all factors are constrained
to impact later, but not earlier time points- Requires few assumptions, can predict any pattern of change
- Disadvantages- Not falsifiable- No predictions
- Feasible for limited number of measurementsLatent Growth Curve ModelingSimplex Modeling
Common methods for longitudinal data analyses
![Page 4: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/4.jpg)
Recap common pathway model
Latent Growth Models
Simplex Models
Lindon’s esoteric input
Presentation layout
![Page 5: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/5.jpg)
Phenotype 1
1 1 1
AC CCEC
a11
c11e11
Common Path
Phenotype 2
Phenotype 3
f11 f21
f21
AS2 CS2 ES2AS3 CS3 ES3AS1 CS1 ES1
1 1 1 1 1 1 1 1 1
Common Pathway
![Page 6: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/6.jpg)
Common Pathway: Genetic components of variance
Phenotype 1
1
AC
a11
Common Path
Phenotype 2
Phenotype 3
f11 f21
f21
As2 As3As1
1 1 1
f11
f21
f31
a11 X a11’& + = A
as11as22
as33
as11as22
as33
X’
multiComPathACEModel <- mxModel("multiComPathACE",mxModel("ACE",
# Matrices to store a, c, and e path coefficients for latent phenotype(s)
mxMatrix( type="Lower", nrow=nf, ncol=nf, free=TRUE, values=.6, name="a" ),
# Matrices to store a, c, and e path coefficients for specific factors
mxMatrix( type="Diag", nrow=nv, ncol=nv, free=TRUE, values=4, name="as" ),
# Matrix f for factor loadings from common pathway to observerd phenotypes
mxMatrix( type="Full", nrow=nv, ncol=nf, free=TRUE, values=15, name="f" ),
# Matrices A, C, & E to compute variance componentsmxAlgebra( expression = f %&% (a %*% t(a)) + as %*% t(as), name="A" ),
as11 as22 as33
![Page 7: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/7.jpg)
Common Pathway: Matrix algebra + variance components
T1 T2
T1A+C+E
T2A+C+E
Within twin (co)variance
multiComPathACEModel <- mxModel("multiComPathACE",mxModel("ACE",
# Matrices to store a, c, and e path coefficients for latent phenotype(s)
mxMatrix( type="Lower", nrow=nf, ncol=nf, free=TRUE, values=.6, name="a" ),mxMatrix( type="Lower", nrow=nf, ncol=nf, free=TRUE, values=.6, name=”c" ),mxMatrix( type="Lower", nrow=nf, ncol=nf, free=TRUE, values=.6, name=”e" ),
# Matrices to store a, c, and e path coefficients for specific factors
mxMatrix( type="Diag", nrow=nv, ncol=nv, free=TRUE, values=4, name="as" ),mxMatrix( type="Diag", nrow=nv, ncol=nv, free=TRUE, values=4, name=”cs" ),mxMatrix( type="Diag", nrow=nv, ncol=nv, free=TRUE, values=4, name=”es" ),
# Matrix f for factor loadings from common pathway to observerd phenotypes
mxMatrix( type="Full", nrow=nv, ncol=nf, free=TRUE, values=15, name="f" ),
# Matrices A, C, & E to compute variance componentsmxAlgebra( expression = f %&% (a %*% t(a)) + as %*% t(as), name="A" ),mxAlgebra( expression = f %&% (c %*% t(c)) + cs %*% t(cs), name=”C" ),mxAlgebra( expression = f %&% (e %*% t(e)) + es %*% t(es), name=”E" ),
![Page 8: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/8.jpg)
1 / 0.5 1
MZ T1 T2
T1A+C+E A+C
T2A+C A+C+E
DZ T1 T2
T1A+C+E 0.5@A+C
T20.5@A+C A+C+E
Twin 1 Twin 2
# Algebra for expected variance/covariance matrix in MZ
mxAlgebra( expression= rbind ( cbind(A+C+E , A+C),
cbind(A+C , A+C+E)), name="expCovMZ" ),
# Algebra for expected variance/covariance matrix in DZ
mxAlgebra( expression= rbind ( cbind(A+C+E , 0.5%x%A+C),
cbind(0.5%x%A+C ,A+C+E) ), name="expCovDZ" )
CP Model: Expected covariance
![Page 9: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/9.jpg)
Got longitudinal data?
Phenotype 1
Time 1
Phenotype 1
Time 2
Phenotype 1
Time 3
How do variance components change over time?
Are they stable?
How to best explain change? Linear, non-linear?
![Page 10: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/10.jpg)
Common Pathway Model
1
AI
a11c11
e11
f11 f21
AS2 CS2 ES2AS3 CS3 ES3AS1 CS1 ES1
1 1 1 1 1 1 1 1 1
1
CI
1
EI
f31
m
as11 as22 as33cs11
es11cs22
es22 cs33
es33
B
![Page 11: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/11.jpg)
CP to Latent Growth Curve Model
1
A1
a11c11
e11
f11f21
AS2 CS2 ES2AS3 CS3 ES3AS1 CS1 ES1
1 1 1 1 1 1 1 1 1
1
C1
1
E1
f31
m1
as11 as22 as33cs11
es11cs22
es22 cs33
es33
B1
f12
1
A2
a22 c22e22
f22
f32
1
C2
1
E2
m2
B2
f11
f21
f31
f11 f12
f21 f22
f31 f32
a11
c11
e11
a11
a22
c11
c22
e11
e22
nf <- 1
nf <- 2
Phenotype 1
Time 1
Phenotype 1
Time 2
Phenotype 1
Time 3
![Page 12: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/12.jpg)
CP to Latent Growth Curve Model
1
A1
a11c11
e11
f11f21
AS2 CS2 ES2AS3 CS3 ES3AS1 CS1 ES1
1 1 1 1 1 1 1 1 1
1
C1
1
E1
f31
a21
c21
e21
m1
as11 as22 as33cs11
es11cs22
es22 cs33
es33
B1
f12
1
A2
a22 c22e22
f22
f32
1
C2
1
E2
m2
B2
f11
f21
f31
f11 f12
f21 f22
f31 f32
a11
c11
e11
a11
a21 a22
c11
c21 c22
e11
e21 e22
nf <- 1
nf <- 2
Phenotype 1
Time 1
Phenotype 1
Time 2
Phenotype 1
Time 3
![Page 13: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/13.jpg)
Latent Growth Curve Model
Phenotype 1
Time 1
1
AI
a11c11
e11
Intercept
Phenotype 1
Time 2
Phenotype 1
Time 3
1 10
AS2 CS2 ES2AS3 CS3 ES3AS1 CS1 ES1
1 1 1 1 1 1 1 1 1
1
CI
1
EI
1
As
a22 c22e22
Slope
11 2
1
Cs
1
Es
a21
c21
e21
im sm
as11 as22 as33cs11
es11cs22
es22 cs33
es33
Twin 1
Bi Bs
Intercept: Factor which explains initial variance components (and mean) for all measures. Accounts for the stability over time.
Slope: Factor which influences the rate of change in the variance components (and mean) over time. Slope(s) is (are) pre-defined: linear & non linear (quadratic, logistic, gompertz etc) hence factor loading constraints required.
![Page 14: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/14.jpg)
Phenotype 1
Time 1
1
AI
a11
Intercept
Phenotype 1
Time 2
Phenotype 1
Time 3
1 10
AS2 AS3AS1
1 1 1
1
As
a22
Slope
11 2
a21
as11 as22 as33
Twin 1
LGC Model: Within twin genetic components of variance
a11
a21 a22
aS11aS22
aS33
1 0
1 1
1 2
Genetic pathway coefficients matrix
Factor loading matrix
Residual genetic pathway coefficients matrix
![Page 15: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/15.jpg)
1 0
1 1
1 2
& +a11
a21 a22
Xa11 a21
a22
’= A
aS11aS22
aS33
aS11aS22
aS33
X’
lgcACEModel <- mxModel("lgcACE",# Matrix for a path coefficients from latent factors to Int’ & Slope latent factorsmxMatrix( type="Lower", nrow=nf, ncol=nf, free=T, values=0.2, name=”a" ),
# Matrix for a path coefficients from residuals to observed phenotypesmxMatrix( type="Diag", nrow=nv, ncol=nv, free=T, values=0.2, name=”as”
# Factor loading matrix of Int & Slop on observed phenotypesmxMatrix( type="Full", nrow=nv, ncol=nf, free=F, values=c(1,1,1,0,1,2), name="F" ),
a112 + aS11
2 = Avar time 1
a112 + a21a11
+ a21a11 + a222 + aS22
2 = Avar time 2
a112 +2a21a11 + 2a21a11+ 2a22
2 + aS332 = Avar time 3
LGC Model: Specifying variance components in R
# Within twin total genetic (co) variance components # Latents factors + residuals
mxAlgebra … F %&% (a %*% t(a)) + as %*% t(as), name="A" ),
![Page 16: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/16.jpg)
Phenotype 1
Time 1
Intercept
Phenotype 1
Time 2
Phenotype 1
Time 3
1 10
Slope
11 2
Im Sm
# Means for Intercept and Slope
# mxMatrix( type="Full", nrow=1, ncol=nv, free=TRUE, values= 80, name="Mean" ),
mxMatrix(type="Full", nrow=2, ncol=1, free=T, values=c(1,0.1), labels=c("Im","Sm"), name="Mean"),
# Betas / Sex effects on Int & Slope means
mxMatrix(type="Full", nrow=2, ncol=1, free=T, values=0.4,labels=c("Bi","Bs"), name="Beta" ),
# Factor loading matrix of Intercept and Slope on observed phenotypes
mxMatrix( type="Full", nrow=nv, ncol=2, free=F, values=c(1,1,1,0,1,2), name="F" ),
Twin 1
Bi Bs
LGC Model: Means & sex in R
Bi
Bs
im
sm
1 0
1 1
1 2
Means on observed phenotypes versus means on Intercept & Slope?
![Page 17: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/17.jpg)
Phenotype 1
Time 1
Intercept
Phenotype 1
Time 2
Phenotype 1
Time 3
1 10
Slope
11 2
Im Sm
mxAlgebra … (F %*% (Mean + (sex_t1 %x% Beta))) … name = "expMean"),
Xim
sm
1 0
1 1
1 2
+
Bi Bs
SexT1
Bi
Bs
@ = Expected means for Twin 1
im + BiSexT1
sm+ BsSexT1X
1 0
1 1
1 2
(im + BiSexT1)
(im + BiSexT1 ) + 1(sm + BsSexT1 )
(im + BiSexT1) + 2(sm + BsSexT1 )
=
Time 1
Time 2
Time 3
Twin 1
LGC Model: Sex on the Means Algebra
![Page 18: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/18.jpg)
LGC Model: LongitudinalTwinAnalysis_MatrixRawCon.R
1. Inspect proportions of variance explained by A, C & E
2. Standardize pathway coefficients
3. Practical: Fit nested models (AE, CE & E) & compare to ACE
4. Practical: Change factor loadings to -1, 0, & 1 on slope & compare fit to ACE
5. Practical: Calculate genetic factor correlations between Intercept & Slope
6. Estimate the genetic factor correlation under the first model i.e. F=c(1,1,1,0,1,2)
7. Practical: Estimate the genetic factor correlation under the 2nd model i.e. F=c(1,1,1,-1,0,1)
8. Practical 3: Drop C specific effect on Slope & compare to full model
![Page 19: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/19.jpg)
![Page 20: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/20.jpg)
Phenotype 1
Time 1
1
AI
a11c11
e11
Intercept
Phenotype 1
Time 2
Phenotype 1
Time 3
1 10
AS2 CS2 ES2AS3 CS3 ES3AS1 CS1 ES1
1 1 1 1 1 1 1 1 1
1
CI
1
EI
1
As
a22 c22e22
Slope
11 2
1
Cs
1
Es
a21
c21
e21
im sm
as11 as22 as33cs11
es11cs22
es22 cs33
es33
Bi Bs
Latent Growth Curve Model
![Page 21: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/21.jpg)
Phenotype 1
Time 1
Phenotype 1
Time 2
Phenotype 1
Time 3
me meme
1 1 1
u11 u22 u33
Twin 1
1
I1
i11
LF1
1
m1
b1
1
I3
i33
1
LF3
1
I2
i22
1
LF2
m2 m3
b2 b3
lf21 lf32
Simplex Models
![Page 22: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/22.jpg)
Simplex Models
Simplex designs model changes in the latent factor structure over time by fitting auto-regressive or Markovian chains
Determine how much variation in a trait is caused by stable & enduring effects versus transient effects unique to each time
The chief advantage of this model is the ability to partition environmental & genetic variation at each time point into:
- genetic & environmental effects unique to each occasion- genetic and environmental effects transmitted from previous time points
![Page 23: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/23.jpg)
Simplex Models
innovations
latent factor means
latent factors
observed phenotype
measurement error
Phenotype 1
Time 1
Phenotype 1
Time 2
Phenotype 1
Time 3
me meme
1 1 1
u11 u22 u33
1
I1
i11
LF1
1
m1
b1
1
I3
i33
1
LF3
1
I2
i22
1
LF2
m2 m3
b2 b3
lf21 lf32
![Page 24: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/24.jpg)
Simplex Models: Within twin genetic (co)variance
1 0 0
0 1 0
0 0 1
?
? ?
? ? ?
ai11
ai22
ai33
Transmission pathways
Innovation pathways
A1 A2 A3
A3
A2
A1
![Page 25: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/25.jpg)
Simplex Models: Within twin genetic (co)variance
SimplexACEModel <- mxModel("SimplexACE", mxModel("ACE", mxMatrix( type="Iden", nrow=nv, ncol=nv, name="I"), mxMatrix( type="Lower", nrow=nv, ncol=nv, free=c(F,T,F,F,T,F), name="at" ), # TransmissionsmxMatrix( type="Diag", nrow=nv, ncol=nv, free=TRUE, name="ai" ), # Innovations
mxAlgebra( expression=solve(I-at) %&% (ai %*% t(ai)), name="A" ), # A variance component
1 0 0
0 1 0
0 0 1
0
at21 0
0 at32 0
&ai11
ai22
ai33
-
-1
= Aai11
ai22
ai33
*
’
1 0 0
0 1 0
0 0 1
0
at21 0
0 at32 0
ai11
ai22
ai33
Transmission pathways
Innovation pathways
A1 A2 A3
A3
A2
A1
![Page 26: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/26.jpg)
Simplex Models: E (co)variance + measurement error
SimplexACEModel <- mxModel("SimplexACE", mxModel("ACE", mxMatrix( type="Iden", nrow=nv, ncol=nv, name="I"), mxMatrix( type="Lower", nrow=nv, ncol=nv, free=c(F,T,F,F,T,F), name=”et" ), # TransmissionsmxMatrix( type="Diag", nrow=nv, ncol=nv, free=TRUE, name=”ei" ), # InnovationsmxMatrix( type="Diag", nrow=nv, ncol=nv, free=TRUE, labels=c("u","u","u"), name="me" ),mxAlgebra( expression=solve(I-et) %&% (ei %*% t(ei)) + (me %*% t(me)), name="E" ),# E var
1 0 0
0 1 0
0 0 1
0
et21 0
0 et32 0
&ei11
ei22
ei33
-
~
= E
ei11
ei22
ei33
*
’
u11
u22
u33
u11
u22
u33
*
’+
![Page 27: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/27.jpg)
Simplex Models: Means & sex in R
# Estimate latent variable means mxMatrix( type="Lower", nrow=nv, ncol=nv, free=FALSE, values=1, name="T"), mxMatrix( type="Full", nrow=nv, ncol=1, free=TRUE, labels=c("m1","m2","m3"), name="m" ), mxAlgebra( expression= t(T %*% m), name="Means" ),
1
1 1
1 1 1
xm1
m2
m3
= m1 m1+m2 m1+m2+m3
’
mxMatrix( type="Full", nrow=1, ncol=nv, free=TRUE, labels=c(”b1",”b2",”b3"), values=c(1,1,1), name="Beta" ),mxModel("MZ", mxData(data.frame(mzData,mzDefs), type="raw" ), mxMatrix( type="Full", nrow=1, ncol=1, free=FALSE, labels=c("data.sex_1"), name="sex_t1"), mxMatrix( type="Full", nrow=1, ncol=1, free=FALSE, labels=c("data.sex_2"), name="sex_t2"), mxAlgebra(expression=cbind( (ACE.Means + (sex_t1 %x% ACE.Beta)),
(ACE.Means + (sex_t2 %x% ACE.Beta)) ), name="expMean"),
SexT1b1 b2 b3@ = b1SexT1 b2SexT1 b3SexT1
m1
+b1SexT1
m1 + m2
+b2SexT1
m1+m2+m3
+ b3SexT1
Time 1 Time 2 Time 3
Time 1 Time 2 Time 3
![Page 28: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/28.jpg)
Simplex Model: LongitudinalTwinAnalysis_MatrixRawCon.R
1. Derive standardized pathway transmission coefficients
2. Derive standardized innovation pathway coefficients
3. Illustrate mean changes over time
4. Practical: Fit nested models (AE, CE & E) & compare to ACE
5. Practical: Estimate genetic & environmental correlations between phenotypes
6. Demonstrate how to drop ‘C’ innovations at Time 2 & Time 3 & compare to ACE
![Page 29: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/29.jpg)
![Page 30: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/30.jpg)
Phenotype 1
Time 1
1
AI
a11c11
e11
Intercept
Phenotype 1
Time 2
Phenotype 1
Time 3
1 10
AS2 CS2 ES2AS3 CS3 ES3AS1 CS1 ES1
1 1 1 1 1 1 1 1 1
1
CI
1
EI
1
As
a22 c22e22
Slope
11 2
1
Cs
1
Es
a21
c21
e21
im sm
as11 as22 as33cs11
es11cs22
es22 cs33
es33
Bi Bs
Latent Growth Curve Model
![Page 31: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/31.jpg)
Phenotype 1
Time 1
Phenotype 1
Time 2
Phenotype 1
Time 3
me meme
1 1 1
u11 u22 u33
1
AI1
ai11
A1
1
m1
b1
1
AI3
ai33
1
A3
1
AI2
ai22
1
A2
m2 m3
b2 b3
at21 at32
Simplex Models
![Page 32: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/32.jpg)
![Page 33: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/33.jpg)
Phenotype
1 1 1
A C E
a c e
Phenotypic variance decomposition
![Page 34: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/34.jpg)
MZ T1 T2
T1A+C+E A+C
T2A+C A+C+E
DZ T1 T2
T1A+C+E 0.5@A+C
T20.5@A+C A+C+E
Univariate analysis: Expected within twin & cross-twin (co)variance
![Page 35: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/35.jpg)
Phenotype 1
1 1 1
A1 C1 E1
a11c11
e11
Phenotype2
1 1 1
A2 C2 E2
a22c22
e22
e21c21a21
Twin 1
Bivariate & multivariate analyses (Cholesky decompositions)
![Page 36: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/36.jpg)
a11
a21 a22
a11 a21
a22
X = Aa11
2 a11a21
a11a21 a222
=
A1 A2
1
A1
a11
Phenotype2
1
A2
a22
a21
Twin 1
twinACEModel <- mxModel("ACE",
mxMatrix( type="Lower", nrow=nv, ncol=nv, free=TRUE, values=.6, name=”a"),
mxAlgebra( expression=a %*% t(a), name="A" ), #Total genetic variance
Pheno1
Pheno2
Pheno2Pheno1
Pheno1
Pheno2
Phenotype 1
Calculating within twin genetic (co)variance matrix
![Page 37: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/37.jpg)
c11
c21 c22
c11 c21
c22
X = Cc11
2 c11c21
c11c21 c222
=
C1 C2
twinACEModel <- mxModel("ACE",
mxMatrix( type="Lower", nrow=nv, ncol=nv, free=TRUE, values=.6, name=”c"),
mxAlgebra( expression=a %*% t(a), name=”C" ), #Total genetic variance
Pheno1
Pheno2
Pheno2Pheno1
Pheno1
Pheno2
Phenotype 1
1
C1
c11
Phenotype2
1
C2
c22
c21
Calculating within twin (co)variance matrices
![Page 38: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/38.jpg)
Calculating within twin (co)variance matrix
mxAlgebra( expression=A+C+E, name="V" ),
T1
T1
a112+ c11
2 + e11
2a11a21+ c11c21 +
e11e21
a11a21+ c11c21 +
e11e21a22
2+ c222
+ e222
![Page 39: Longitudinal Modeling Nathan, Lindon & Mike LongitudinalTwinAnalysis_MatrixRawCon.R GenEpiHelperFunctions.R jepq.txt](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649d535503460f94a2f0a3/html5/thumbnails/39.jpg)
Bivariate & multivariate analyses
1 / 0.5 1 / 0.51 1
Twin 1 Twin 2
MZ T1 T2
T1A+C+E A+C
T2A+C A+C+E
DZ T1 T2
T1A+C+E 0.5@A+C
T20.5@A+C A+C+E
# Algebra for expected variance/covariance matrix in MZ
mxAlgebra( expression= rbind ( cbind(A+C+E , A+C),
cbind(A+C , A+C+E)), name="expCovMZ" ),
# Algebra for expected variance/covariance matrix in DZmxAlgebra( expression= rbind ( cbind(A+C+E , 0.5%x%A+C),
cbind(0.5%x%A+C , A+C+E) ), name="expCovDZ" )