All analysis was completed using the dataset that matched Cathy’s that is coming out in Brain in November.
Here are the questions I’m going to answer:
1.1 Is there a relationship between amyloid/tau imaging and CDR status?
1.2 As time passes are there differences in amyloid/tau imaging between converters and non-converters?
2.1 Is there a relationship between BOLD imaging and CDR status?
2.2 As time passes are there differences in network connectivity trajectory between converters and non-converters?
3.1 Are there observable changes to networks over time that increase your risk of CDR conversion?
4.1 Is there are relationship between functional connectivity and amyloid/tau imaging?
1.1- Is there a relationship between amyloid/tau imaging and CDR status? In short: Yes
chisq.test(SUVRandPIB)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: SUVRandPIB
## X-squared = 590.63, df = 1, p-value < 2.2e-16
chisq.test(CDRandSUVR)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: CDRandSUVR
## X-squared = 23.559, df = 1, p-value = 1.211e-06
chisq.test(CDRandPIB)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: CDRandPIB
## X-squared = 25.63, df = 1, p-value = 4.136e-07
1.2-As time passes are there differences in amyloid/tau imaging between converters and non-converters?
In short: There are differences of intercept, but not slope. So (in accordance with Cathy’s paper), it seems like these changes must be starting more than 10 years out.
#1 - APOE, 2 - EDUC, 3 - Gender, 4 - CDR, 5 - Time, 6 - CDR*TIME
LikelihoodRatioTests_RandInt(df.pib.demog$PiB_fBP_TOT_CORTMEAN)
## [[1]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ cdr05 * years + GENDER + EDUC + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df
## Model.Total 8 -913.91 -877.98 464.96 -929.91
## Model.Total.null 9 -954.80 -914.37 486.40 -972.80 42.887 1
## Pr(>Chisq)
## Model.Total
## Model.Total.null 5.798e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## [[2]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ cdr05 * years + GENDER + APOE + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)
## Model.Total 8 -956.8 -920.86 486.4 -972.8
## Model.Total.null 9 -954.8 -914.37 486.4 -972.8 5e-04 1 0.9828
##
## [[3]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ cdr05 * years + EDUC + APOE + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df
## Model.Total 8 -954.21 -918.27 485.11 -970.21
## Model.Total.null 9 -954.80 -914.37 486.40 -972.80 2.5878 1
## Pr(>Chisq)
## Model.Total
## Model.Total.null 0.1077
##
## [[4]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ years + GENDER + EDUC + APOE + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df
## Model.Total 7 -935.6 -904.16 474.8 -949.6
## Model.Total.null 9 -954.8 -914.37 486.4 -972.8 23.198 2
## Pr(>Chisq)
## Model.Total
## Model.Total.null 9.173e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## [[5]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ cdr05 + GENDER + EDUC + APOE + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df
## Model.Total 7 -879.54 -848.10 446.77 -893.54
## Model.Total.null 9 -954.80 -914.37 486.40 -972.80 79.259 2
## Pr(>Chisq)
## Model.Total
## Model.Total.null < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## [[6]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ cdr05 + years + GENDER + EDUC + APOE + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df
## Model.Total 8 -953.03 -917.09 484.51 -969.03
## Model.Total.null 9 -954.80 -914.37 486.40 -972.80 3.7722 1
## Pr(>Chisq)
## Model.Total
## Model.Total.null 0.05211 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#APOE status is significant (p = 5.8e-11), CDR status (p = 9.2e-6), Time (p < 2.2e-16)
LikelihoodRatioTests_RandInt(df.pib.demog$PiB_fSUVR_TOT_CORTMEAN)
## [[1]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ cdr05 * years + GENDER + EDUC + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df
## Model.Total 8 560.53 596.47 -272.27 544.53
## Model.Total.null 9 518.26 558.69 -250.13 500.26 44.269 1
## Pr(>Chisq)
## Model.Total
## Model.Total.null 2.862e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## [[2]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ cdr05 * years + GENDER + APOE + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df
## Model.Total 8 516.28 552.22 -250.14 500.28
## Model.Total.null 9 518.26 558.69 -250.13 500.26 0.0199 1
## Pr(>Chisq)
## Model.Total
## Model.Total.null 0.8877
##
## [[3]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ cdr05 * years + EDUC + APOE + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df
## Model.Total 8 519.93 555.87 -251.97 503.93
## Model.Total.null 9 518.26 558.69 -250.13 500.26 3.6677 1
## Pr(>Chisq)
## Model.Total
## Model.Total.null 0.05548 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## [[4]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ years + GENDER + EDUC + APOE + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df
## Model.Total 7 542.42 573.87 -264.21 528.42
## Model.Total.null 9 518.26 558.69 -250.13 500.26 28.162 2
## Pr(>Chisq)
## Model.Total
## Model.Total.null 7.669e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## [[5]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ cdr05 + GENDER + EDUC + APOE + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df
## Model.Total 7 667.09 698.54 -326.55 653.09
## Model.Total.null 9 518.26 558.69 -250.13 500.26 152.83 2
## Pr(>Chisq)
## Model.Total
## Model.Total.null < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## [[6]]
## Data: df.pib.demog
## Models:
## Model.Total: MEASURE ~ cdr05 + years + GENDER + EDUC + APOE + (1 | ID)
## Model.Total.null: MEASURE ~ cdr05 * years + GENDER + EDUC + APOE + (1 | ID)
## Df AIC BIC logLik deviance Chisq Chi Df
## Model.Total 8 523.88 559.82 -253.94 507.88
## Model.Total.null 9 518.26 558.69 -250.13 500.26 7.6219 1
## Pr(>Chisq)
## Model.Total
## Model.Total.null 0.005766 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#APOE(p = 2.9e-11), CDR Status (p = 7.7e-7), time (p = 2.2e-16), cdr*time (p = 5.8e-3)
#Testing for differences of slope
Model.Total.null<-lm(PiB_fBP_TOT_CORTMEAN ~ as.factor(cdr05)*years+as.factor(GENDER)+EDUC+as.factor(APOE), df.pib.demog)
anova(Model.Total.null)
## Analysis of Variance Table
##
## Response: PiB_fBP_TOT_CORTMEAN
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(cdr05) 1 1.5580 1.55796 47.8325 1.11e-11 ***
## years 1 0.1065 0.10653 3.2706 0.07099 .
## as.factor(GENDER) 1 0.1178 0.11784 3.6178 0.05760 .
## EDUC 1 0.0220 0.02200 0.6756 0.41141
## as.factor(APOE) 2 3.1310 1.56551 48.0642 < 2.2e-16 ***
## as.factor(cdr05):years 1 0.0986 0.09858 3.0267 0.08238 .
## Residuals 652 21.2364 0.03257
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Model.Total.null$coefficients
## (Intercept) as.factor(cdr05)1 years
## 0.144454386 0.117261239 0.004623222
## as.factor(GENDER)2 EDUC as.factor(APOE)1
## -0.036846301 -0.003075652 0.117406164
## as.factor(APOE)2 as.factor(cdr05)1:years
## 0.269388806 -0.009382740
m.lst<-lstrends(Model.Total.null, "cdr05", var = "years")
summary(pairs(m.lst)) #p = 0.08, so no significant difference in slopes
## contrast estimate SE df t.ratio p.value
## 0 - 1 0.00938274 0.005393167 652 1.74 0.0824
##
## Results are averaged over the levels of: GENDER, APOE
Model.Total.null<-lm(PiB_fSUVR_TOT_CORTMEAN ~ as.factor(cdr05)*years+as.factor(GENDER)+EDUC+as.factor(APOE), df.pib.demog)
anova(Model.Total.null)
## Analysis of Variance Table
##
## Response: PiB_fSUVR_TOT_CORTMEAN
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(cdr05) 1 14.629 14.6288 49.3514 5.399e-12 ***
## years 1 2.884 2.8837 9.7284 0.001894 **
## as.factor(GENDER) 1 1.691 1.6906 5.7034 0.017215 *
## EDUC 1 0.262 0.2622 0.8846 0.347296
## as.factor(APOE) 2 29.004 14.5019 48.9233 < 2.2e-16 ***
## as.factor(cdr05):years 1 0.541 0.5409 1.8249 0.177198
## Residuals 652 193.267 0.2964
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Model.Total.null$coefficients
## (Intercept) as.factor(cdr05)1 years
## 1.40930763 0.37395681 0.02080720
## as.factor(GENDER)2 EDUC as.factor(APOE)1
## -0.13378097 -0.01034706 0.36696759
## as.factor(APOE)2 as.factor(cdr05)1:years
## 0.79673876 -0.02197878
m.lst<-lstrends(Model.Total.null, "cdr05", var = "years")
summary(pairs(m.lst)) #p = 0.1772, so no significant difference in slopes
## contrast estimate SE df t.ratio p.value
## 0 - 1 0.02197878 0.01626979 652 1.351 0.1772
##
## Results are averaged over the levels of: GENDER, APOE
ggplot(df.pib, aes(x=years, y=PiB_fBP_TOT_CORTMEAN, shape=cdr05, color=cdr05)) +
geom_point()+geom_smooth(method=lm, se=TRUE, fullrange=TRUE)
ggplot(df.pib, aes(x=years, y=PiB_fSUVR_TOT_CORTMEAN, shape=cdr05, color=cdr05)) +
geom_point()+geom_smooth(method=lm, se=TRUE, fullrange=TRUE)
2.1- Is there a relationship between BOLD imaging and CDR status? In short: Yes
PCA shows that a significant relationship exists between cdr status and FC. Although, it’s not super clear exactly which networks correspond to changing cdr status from the PCA.
#Manova analysis
dependent.vars <- as.matrix(pcaOutput2[,1:8])
summary(manova(dependent.vars~df$cdr05))
## Df Pillai approx F num Df den Df Pr(>F)
## df$cdr05 1 0.05373 5.4936 8 774 9.131e-07 ***
## Residuals 781
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
logit.cdr <- glm(pcaOutput2$groups ~pcaOutput2$PC1 +pcaOutput2$PC2+
pcaOutput2$PC3+pcaOutput2$PC4+pcaOutput2$PC5+pcaOutput2$PC6+
pcaOutput2$PC7+pcaOutput2$PC8, family = "binomial")
summary(logit.cdr)
##
## Call:
## glm(formula = pcaOutput2$groups ~ pcaOutput2$PC1 + pcaOutput2$PC2 +
## pcaOutput2$PC3 + pcaOutput2$PC4 + pcaOutput2$PC5 + pcaOutput2$PC6 +
## pcaOutput2$PC7 + pcaOutput2$PC8, family = "binomial")
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.2977 -0.6111 -0.4934 -0.3577 2.6802
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.86552 0.11252 -16.579 < 2e-16 ***
## pcaOutput2$PC1 -0.06644 0.02810 -2.364 0.01807 *
## pcaOutput2$PC2 0.11961 0.03744 3.194 0.00140 **
## pcaOutput2$PC3 -0.10728 0.04721 -2.272 0.02306 *
## pcaOutput2$PC4 -0.12821 0.04723 -2.715 0.00664 **
## pcaOutput2$PC5 -0.10817 0.05535 -1.954 0.05067 .
## pcaOutput2$PC6 -0.12611 0.05637 -2.237 0.02527 *
## pcaOutput2$PC7 -0.06821 0.06110 -1.116 0.26427
## pcaOutput2$PC8 0.12022 0.06630 1.813 0.06978 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 670.74 on 782 degrees of freedom
## Residual deviance: 627.01 on 774 degrees of freedom
## AIC: 645.01
##
## Number of Fisher Scoring iterations: 5
The networks that comprise each of the significant components are shown in the figures below.
2.2 - As time passes are there differences in network connectivity trajectory between converters and non-converters?
In short: Yes
## Region pValue
## 14 zSM_lat_x_SM_lat 0.006247446
## 23 zSM_lat_x_VAN 0.006019155
## 26 zCO_x_CO 0.022418205
## 82 zSUBCort_x_SUBCort 0.033604233
Slope varies over time for four networks: SMlatxSMlat, SMlatxVAN, COxCO, and SUBCortxSUBCort.
## $Region
## [1] "zSM_lat_x_SM_lat"
##
## $p.value
## [1] 0.006247446
##
## $plot
##
## Call:
## lm(formula = zSM_lat_x_SM_lat ~ as.factor(cdr05) * years + GENDER +
## EDUC + APOE, data = df, REML = FALSE)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.1732 -0.6463 0.0493 0.6756 2.7544
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.002525 0.268361 0.009 0.99250
## as.factor(cdr05)1 -0.463977 0.104776 -4.428 1.09e-05 ***
## years -0.016861 0.011393 -1.480 0.13928
## GENDER -0.130627 0.073426 -1.779 0.07563 .
## EDUC 0.013053 0.013631 0.958 0.33855
## APOE 0.105246 0.063438 1.659 0.09751 .
## as.factor(cdr05)1:years -0.077253 0.029568 -2.613 0.00916 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9834 on 776 degrees of freedom
## Multiple R-squared: 0.04043, Adjusted R-squared: 0.03301
## F-statistic: 5.449 on 6 and 776 DF, p-value: 1.555e-05
## (Intercept) as.factor(cdr05)1 years
## 0.002525081 -0.463976913 -0.016861007
## GENDER EDUC APOE
## -0.130627106 0.013053162 0.105245548
## as.factor(cdr05)1:years
## -0.077252687
## cdr05 years.trend SE df lower.CL upper.CL
## 0 -0.01686101 0.01139250 776 -0.03922479 0.005502773
## 1 -0.09411369 0.02730456 776 -0.14771326 -0.040514131
##
## Confidence level used: 0.95
## contrast estimate SE df t.ratio p.value
## 0 - 1 0.07725269 0.02956816 776 2.613 0.0092
## $Region
## [1] "zSM_lat_x_VAN"
##
## $p.value
## [1] 0.006019155
##
## $plot
##
## Call:
## lm(formula = zSM_lat_x_VAN ~ as.factor(cdr05) * years + GENDER +
## EDUC + APOE, data = df, REML = FALSE)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.9629 -0.6352 0.0167 0.6829 4.3382
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.244437 0.272299 0.898 0.36964
## as.factor(cdr05)1 -0.135299 0.106314 -1.273 0.20353
## years 0.021784 0.011560 1.884 0.05987 .
## GENDER -0.075908 0.074503 -1.019 0.30859
## EDUC -0.006301 0.013831 -0.456 0.64884
## APOE 0.018281 0.064369 0.284 0.77648
## as.factor(cdr05)1:years -0.081605 0.030002 -2.720 0.00667 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9978 on 776 degrees of freedom
## Multiple R-squared: 0.01206, Adjusted R-squared: 0.004423
## F-statistic: 1.579 on 6 and 776 DF, p-value: 0.1502
## (Intercept) as.factor(cdr05)1 years
## 0.244436843 -0.135298629 0.021783931
## GENDER EDUC APOE
## -0.075907706 -0.006300739 0.018281451
## as.factor(cdr05)1:years
## -0.081605486
## cdr05 years.trend SE df lower.CL upper.CL
## 0 0.02178393 0.01155968 776 -0.0009080262 0.044475889
## 1 -0.05982156 0.02770525 776 -0.1142076657 -0.005435444
##
## Confidence level used: 0.95
## contrast estimate SE df t.ratio p.value
## 0 - 1 0.08160549 0.03000206 776 2.72 0.0067
## $Region
## [1] "zCO_x_CO"
##
## $p.value
## [1] 0.02241821
##
## $plot
##
## Call:
## lm(formula = zCO_x_CO ~ as.factor(cdr05) * years + GENDER + EDUC +
## APOE, data = df, REML = FALSE)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.3187 -0.7047 -0.0609 0.6235 4.1690
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.3536189 0.2679347 -1.320 0.1873
## as.factor(cdr05)1 -0.5753132 0.1046098 -5.500 5.17e-08 ***
## years -0.0007509 0.0113744 -0.066 0.9474
## GENDER 0.0920354 0.0733091 1.255 0.2097
## EDUC 0.0178908 0.0136092 1.315 0.1890
## APOE -0.0296437 0.0633371 -0.468 0.6399
## as.factor(cdr05)1:years -0.0725581 0.0295212 -2.458 0.0142 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9818 on 776 degrees of freedom
## Multiple R-squared: 0.04348, Adjusted R-squared: 0.03608
## F-statistic: 5.879 on 6 and 776 DF, p-value: 5.186e-06
## (Intercept) as.factor(cdr05)1 years
## -0.3536189376 -0.5753132386 -0.0007508814
## GENDER EDUC APOE
## 0.0920354253 0.0178907816 -0.0296437305
## as.factor(cdr05)1:years
## -0.0725580842
## cdr05 years.trend SE df lower.CL upper.CL
## 0 -0.0007508814 0.01137439 776 -0.0230791 0.02157734
## 1 -0.0733089656 0.02726115 776 -0.1268233 -0.01979463
##
## Confidence level used: 0.95
## contrast estimate SE df t.ratio p.value
## 0 - 1 0.07255808 0.02952115 776 2.458 0.0142
## $Region
## [1] "zSUBCort_x_SUBCort"
##
## $p.value
## [1] 0.03360423
##
## $plot
##
## Call:
## lm(formula = zSUBCort_x_SUBCort ~ as.factor(cdr05) * years +
## GENDER + EDUC + APOE, data = df, REML = FALSE)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.2256 -0.7275 -0.0757 0.5776 3.3774
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.17300 0.26995 -0.641 0.52181
## as.factor(cdr05)1 -0.29845 0.10540 -2.832 0.00475 **
## years -0.01869 0.01146 -1.630 0.10341
## GENDER -0.08852 0.07386 -1.199 0.23108
## EDUC 0.01727 0.01371 1.259 0.20836
## APOE 0.14842 0.06381 2.326 0.02029 *
## as.factor(cdr05)1:years -0.06244 0.02974 -2.099 0.03612 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9892 on 776 degrees of freedom
## Multiple R-squared: 0.02902, Adjusted R-squared: 0.02151
## F-statistic: 3.866 on 6 and 776 DF, p-value: 0.0008262
## (Intercept) as.factor(cdr05)1 years
## -0.17299744 -0.29845103 -0.01868520
## GENDER EDUC APOE
## -0.08852318 0.01726503 0.14841917
## as.factor(cdr05)1:years
## -0.06243799
## cdr05 years.trend SE df lower.CL upper.CL
## 0 -0.01868520 0.01146003 776 -0.04118155 0.003811139
## 1 -0.08112319 0.02746641 776 -0.13504047 -0.027205912
##
## Confidence level used: 0.95
## contrast estimate SE df t.ratio p.value
## 0 - 1 0.06243799 0.02974343 776 2.099 0.0361
As a sanity check, I tested the correlation between each of those networks and time for both converters and nonconverters.
The good news is, there was a weak to non-existant correlation with time for the nonconverters, and there was a significant correlation with time for the converters. Since the assignment of time for nonconverters was totally arbitrary, any observed correlation would be a result of this random assignment.
FisherRtoZ(df$zSM_lat_x_SM_lat) #The correlation for nonconverters (r = -0.053) was significantly weaker than converters (r = -.295) (p = 0.01)
FisherRtoZ(df$zSM_lat_x_VAN)#The correlation for nonconverters (r = 0.07) was significantly weaker than converters (r = -0.20) (p = 0.01)
FisherRtoZ(df$zCO_x_CO) #The correlation for nonconverters (r = -0.003) was significantly weaker than converters (r = -0.24) (p = 0.01)
FisherRtoZ(df$zSUBCort_x_SUBCort) #there was no difference in pearson correlation between the nonconverters (r = -0.05) and converters (r = -.24) (p = 0.06)
3- Are there observable changes to networks over time that increase your risk of CDR conversion?
In short: yes
91 Cox proportional hazards mixed effect models tested associations of each z-transformed functional connectivity network with conversion to CDR > 0. I controlled for demographic covariates of age, education, gender, race, and number of APOE4 genes. Because this dataset contained longitudinal measurements for many participants, subject ID was treated as a random effect.
#http://www.sthda.com/english/wiki/cox-proportional-hazards-model
regions<- c("zSM_x_SM","zSM_x_SM_lat","zSM_x_CO","zSM_x_AUD","zSM_x_DMN",
"zSM_x_MEM","zSM_x_VIS","zSM_x_FP","zSM_x_SAL","zSM_x_SUBCort","zSM_x_VAN",
"zSM_x_DAN","zSM_x_CEREB","zSM_lat_x_SM_lat","zSM_lat_x_CO","zSM_lat_x_AUD","zSM_lat_x_DMN",
"zSM_lat_x_MEM","zSM_lat_x_VIS","zSM_lat_x_FP","zSM_lat_x_SAL","zSM_lat_x_SUBCort","zSM_lat_x_VAN",
"zSM_lat_x_DAN","zSM_lat_x_CEREB","zCO_x_CO","zCO_x_AUD","zCO_x_DMN","zCO_x_MEM",
"zCO_x_VIS","zCO_x_FP","zCO_x_SAL","zCO_x_SUBCort","zCO_x_VAN","zCO_x_DAN",
"zCO_x_CEREB","zAUD_x_AUD","zAUD_x_DMN","zAUD_x_MEM","zAUD_x_VIS","zAUD_x_FP",
"zAUD_x_SAL","zAUD_x_SUBCort","zAUD_x_VAN","zAUD_x_DAN","zAUD_x_CEREB","zDMN_x_DMN",
"zDMN_x_MEM","zDMN_x_VIS","zDMN_x_FP","zDMN_x_SAL","zDMN_x_SUBCort","zDMN_x_VAN",
"zDMN_x_DAN","zDMN_x_CEREB","zMEM_x_MEM","zMEM_x_VIS","zMEM_x_FP","zMEM_x_SAL",
"zMEM_x_SUBCort","zMEM_x_VAN","zMEM_x_DAN","zMEM_x_CEREB","zVIS_x_VIS","zVIS_x_FP",
"zVIS_x_SAL","zVIS_x_SUBCort","zVIS_x_VAN","zVIS_x_DAN","zVIS_x_CEREB","zFP_x_FP",
"zFP_x_SAL","zFP_x_SUBCort","zFP_x_VAN","zFP_x_DAN","zFP_x_CEREB","zSAL_x_SAL" ,
"zSAL_x_SUBCort","zSAL_x_VAN","zSAL_x_DAN","zSAL_x_CEREB","zSUBCort_x_SUBCort","zSUBCort_x_VAN",
"zSUBCort_x_DAN","zSUBCort_x_CEREB","zVAN_x_VAN","zVAN_x_DAN","zVAN_x_CEREB","zDAN_x_DAN",
"zDAN_x_CEREB","zCEREB_x_CEREB" )
univ_formulas <- sapply(regions,
function(x) as.formula(paste('Surv(years, cdr05)~GENDER + EDUC+APOE + (1|ID)+', x)))
univ_models2 <- lapply( univ_formulas, function(x){coxme(x, data = df)})
extract_coxme_table <- univ_results_quick<-lapply(univ_models2, function (x){
beta <- x$coefficients
nvar <- length(beta)
nfrail <- nrow(x$var) - nvar
se <- sqrt(diag(x$var)[nfrail + 1:nvar])
z<- round(beta/se, 2)
p<- signif(1 - pchisq((beta/se)^2, 1), 2)
table=data.frame(cbind(beta,se,z,p))
return(table)
})
After correcting for repeated measures (Bonferroni, p = 5.5e-04), 4 regions were found to be affiliated with time to CDR > 0.
univ_models2$zSM_x_VIS
## Cox mixed-effects model fit by maximum likelihood
## Data: df
## events, n = 120, 783
## Iterations= 43 186
## NULL Integrated Fitted
## Log-likelihood -689.4148 -618.7076 -412.426
##
## Chisq df p AIC BIC
## Integrated loglik 141.41 5.00 0 131.41 117.48
## Penalized loglik 553.98 171.74 0 210.50 -268.23
##
## Model: x
## Fixed coefficients
## coef exp(coef) se(coef) z p
## GENDER -0.17084765 0.8429500 0.48769041 -0.35 0.73000
## EDUC -0.04406304 0.9568936 0.08553961 -0.52 0.61000
## APOE -0.04198539 0.9588838 0.45125551 -0.09 0.93000
## zSM_x_VIS 0.60580118 1.8327200 0.15945910 3.80 0.00015
##
## Random effects
## Group Variable Std Dev Variance
## ID Intercept 2.929402 8.581399
univ_models2$zVIS_x_SAL
## Cox mixed-effects model fit by maximum likelihood
## Data: df
## events, n = 120, 783
## Iterations= 19 90
## NULL Integrated Fitted
## Log-likelihood -689.4148 -613.9053 -411.3322
##
## Chisq df p AIC BIC
## Integrated loglik 151.02 5.00 0 141.02 127.08
## Penalized loglik 556.17 167.72 0 220.73 -246.77
##
## Model: x
## Fixed coefficients
## coef exp(coef) se(coef) z p
## GENDER -0.17985125 0.8353945 0.47667262 -0.38 7.1e-01
## EDUC -0.05121482 0.9500745 0.08363327 -0.61 5.4e-01
## APOE -0.09829976 0.9063772 0.45044427 -0.22 8.3e-01
## zVIS_x_SAL -0.72408703 0.4847669 0.16141653 -4.49 7.3e-06
##
## Random effects
## Group Variable Std Dev Variance
## ID Intercept 2.865598 8.211654
univ_models2$zVIS_x_CEREB
## Cox mixed-effects model fit by maximum likelihood
## Data: df
## events, n = 120, 783
## Iterations= 29 159
## NULL Integrated Fitted
## Log-likelihood -689.4148 -616.9011 -411.8704
##
## Chisq df p AIC BIC
## Integrated loglik 145.03 5.00 0 135.03 121.09
## Penalized loglik 555.09 171.24 0 212.61 -264.73
##
## Model: x
## Fixed coefficients
## coef exp(coef) se(coef) z p
## GENDER -0.12764217 0.8801683 0.49267477 -0.26 8.0e-01
## EDUC -0.04776733 0.9533556 0.08594206 -0.56 5.8e-01
## APOE -0.07460559 0.9281095 0.45887984 -0.16 8.7e-01
## zVIS_x_CEREB -0.63628843 0.5292531 0.15401042 -4.13 3.6e-05
##
## Random effects
## Group Variable Std Dev Variance
## ID Intercept 2.947939 8.690346
univ_models2$zDAN_x_CEREB
## Cox mixed-effects model fit by maximum likelihood
## Data: df
## events, n = 120, 783
## Iterations= 13 81
## NULL Integrated Fitted
## Log-likelihood -689.4148 -615.7156 -408.5079
##
## Chisq df p AIC BIC
## Integrated loglik 147.40 5.00 0 137.40 123.46
## Penalized loglik 561.81 172.64 0 216.53 -264.71
##
## Model: x
## Fixed coefficients
## coef exp(coef) se(coef) z p
## GENDER -4.594241e-05 0.9999541 0.53563965 0.00 1.0e+00
## EDUC -4.001822e-02 0.9607719 0.09352115 -0.43 6.7e-01
## APOE -1.347507e-01 0.8739338 0.51014855 -0.26 7.9e-01
## zDAN_x_CEREB -7.205045e-01 0.4865068 0.17678299 -4.08 4.6e-05
##
## Random effects
## Group Variable Std Dev Variance
## ID Intercept 3.177633 10.097354
4 - Is there are relationship between functional connectivity and amyloid/tau imaging?
In short: Yes.
Just like in 2, I used PCA to compare the functional connectivity matrices with either PIB positivity or abnormal SUVR levels.
summary(manova(dependent.vars~df.pib.FC$SUVRabnormal))
## Df Pillai approx F num Df den Df Pr(>F)
## df.pib.FC$SUVRabnormal 1 0.017956 3.3529 8 1467 0.0008171 ***
## Residuals 1474
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
logit.SUVR <- glm(df.pib.FC$SUVRabnormal ~pcaOutput2$PC1 +pcaOutput2$PC2+
pcaOutput2$PC3+pcaOutput2$PC4+pcaOutput2$PC5+pcaOutput2$PC6+
pcaOutput2$PC7+pcaOutput2$PC8, family = "binomial")
summary(manova(dependent.vars~df.pib.FC$PIBpos))
## Df Pillai approx F num Df den Df Pr(>F)
## df.pib.FC$PIBpos 1 0.01345 2.5 8 1467 0.0107 *
## Residuals 1474
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
logit.PIB <- glm(df.pib.FC$PIBpos ~pcaOutput2$PC1 +pcaOutput2$PC2+
pcaOutput2$PC3+pcaOutput2$PC4+pcaOutput2$PC5+pcaOutput2$PC6+
pcaOutput2$PC7+pcaOutput2$PC8, family = "binomial")
Again I generated visualizations of the significant components and which networks comprised them.
MakeBarPlots(subset(var.contrib[,4], var.contrib[,4] > 0.028), "Principal Component 4")
MakeBarPlots(subset(var.contrib[,7], var.contrib[,7] > 0.0266), "Principal Component 7")
MakeBarPlots(subset(var.contrib[,8], var.contrib[,8] > 0.0266), "Principal Component 8")