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")