Description of the procedures and analysis present in Manuscript 2, Establishing a baseline for human cortical folding morphological variables: a multicenter study, at the Doctorate Thesis presented to the Programa de Pós-Graduação em Ciências Médicas at the Instituto D’Or de Pesquisa e Ensino as a partial requirement to obtain the Doctorate Degree.

Part of the data used here cannot be shared due to restrictions of the Ethic Committee. Data can be shared upon reasonable request to the corresponding author. To fulfill these limitation, we will generate random data to simulate the results.

Get in touch with us () in case any help is needed, our aim is to improve the code as needed!

1 RMARKDOWN AND R SETUP

setwd("~/GitHub/Typical-values")
## define functions

# test angular coeficinet versus theoretical value
test_coef <- function(reg, coefnum, val){
  co <- coef(summary(reg))
  tstat <- (co[coefnum,1] - val)/co[coefnum,2]
  2 * pt(abs(tstat), reg$df.residual, lower.tail = FALSE)
}

# wrap text
wrapper <- function(x, ...) paste(strwrap(x, ...), collapse = "\n")
library(readr)
library(tidyverse)
library(lubridate)
library(ggpubr)
library(kableExtra)
library(broom)
library(lme4)
library(lsmeans)
library(MuMIn)
library(arm)
library(effects)
# COLOR BLIND PALETTE WITH BLACK
cbbPalette <- c("#000000", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
cbbPalette2 <- c("#D55E00", "#E69F00", "#56B4E9", "#0072B2", "#CC79A7", "#009E73", "#F0E442")

2 set seed for random process

set.seed(1)
# dados_datasetscomp <- read_csv("dados_datasetscomp2.csv")
dados_datasetscomp <- read_csv("data_typical_values.csv")

dados_datasetscomp <- dados_datasetscomp %>%
  filter(Sample != "HCP500r", Diagnostic != "MCI")

3 DATA PREPARATION

# estimate cortical folding variables
dados_datasetscomp <- dados_datasetscomp %>%
  mutate(
    # create new variables
    GMvolume = ifelse(!is.na(GMvolume),GMvolume,AvgThickness*TotalArea),
    logAvgThickness = log10(AvgThickness),
    logTotalArea = log10(TotalArea),
    logExposedArea = log10(ExposedArea),
    localGI = TotalArea / ExposedArea,
    k = sqrt(AvgThickness) * TotalArea / (ExposedArea ^ 1.25),
    K = 1 / 4 * log10(AvgThickness ^ 2)  + log10(TotalArea) - 5 / 4 * log10(ExposedArea),
    S = 3 / 2 * log10(TotalArea) + 3 / 4 * log10(ExposedArea) - 9 /  4 * log10(AvgThickness ^
                                                                                 2) ,
    I = log10(TotalArea) + log10(ExposedArea) + log10(AvgThickness ^ 2),
    # c = as.double(ifelse(
    #   ROI == "hemisphere", NA, 4 * pi / GaussianCurvature
    # )),
    TotalArea_corrected = ifelse(ROI == "hemisphere", TotalArea, TotalArea * c),
    ExposedArea_corrected = ifelse(ROI == "hemisphere", ExposedArea, ExposedArea * c),
    logTotalArea_corrected = log10(TotalArea_corrected),
    logExposedArea_corrected = log10(ExposedArea_corrected),
    localGI_corrected = ifelse(
      ROI == "hemisphere",
      TotalArea / ExposedArea,
      TotalArea_corrected / ExposedArea_corrected
    ),
    k_corrected = ifelse(
      ROI == "hemisphere",
      sqrt(AvgThickness) * log10(TotalArea) / (log10(ExposedArea) ^ 1.25),
      sqrt(AvgThickness) * log10(TotalArea_corrected) / (log10(ExposedArea_corrected ^
                                                                 1.25))
    ),
    K_corrected =  ifelse(
      ROI == "hemisphere",
      1 / 4 * log10(AvgThickness ^ 2) + log10(TotalArea) - 5 / 4 * log10(ExposedArea),
      1 / 4 * log10(AvgThickness ^ 2) + log10(TotalArea_corrected) - 5 / 4 * log10(ExposedArea_corrected)
    ),
    I_corrected = ifelse(
      ROI == "hemisphere",
      log10(TotalArea) + log10(ExposedArea) + log10(AvgThickness ^ 2) ,
      log10(TotalArea_corrected) + log10(ExposedArea_corrected) + log10(AvgThickness ^ 2)
    ),
    S_corrected = ifelse(
      ROI == "hemisphere",
      3 / 2 * log10(TotalArea) + 3 / 4 * log10(ExposedArea) - 9 /  4 * log10(AvgThickness ^ 2) ,
      3 / 2 * log10(TotalArea_corrected) + 3 / 4 * log10(ExposedArea_corrected) - 9 /  4 * log10(AvgThickness ^ 2)
    ),
    Knorm = K_corrected / sqrt(1 + (1 / 4) ^ 2 + (5 / 4) ^ 2),
    Snorm = S_corrected / sqrt((3 / 2) ^ 2 + (3 / 4) ^ 2 + (9 / 4) ^ 2),
    Inorm = I_corrected / sqrt(1 ^ 2 + 1 ^ 2 + 1 ^ 1)
  )

# create age intervals
dados_datasetscomp$Age_interval <- cut(dados_datasetscomp$Age,
                                       breaks = c(0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100),
                                       right = FALSE,
                                       include.lowest = TRUE)

dados_datasetscomp$Age_interval10 <- cut(dados_datasetscomp$Age,
                                         breaks = c(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100),
                                         right = FALSE,
                                         include.lowest = TRUE)
dados_all <- dados_datasetscomp %>% filter(!is.na(logAvgThickness), ExposedArea != 0 | !is.na(localGI), !is.infinite(logExposedArea)) %>% 
  droplevels()

dados_datasetscomp <- dados_all

dados_datasetscomp$Diagnostic <- as.factor(dados_datasetscomp$Diagnostic)
dados_datasetscomp$Diagnostic <- relevel(dados_datasetscomp$Diagnostic, ref = "CTL")

4 Deaging

# define age for deaging
Age.cor = 25

# DEAGING + HARMONIZATION FULL DATA ----

dados_datasetscomp_rate <-
  filter(dados_datasetscomp, Diagnostic == "CTL")

dados_datasetscomp_rate$Sample <-
  as.factor(dados_datasetscomp_rate$Sample)

dados_datasetscomp_rate$ROI <-
  factor(dados_datasetscomp_rate$ROI,
         levels = c("hemisphere", "F", "O", "P", "T"))

4.1 GM volume

m.1 <-
  lme4::lmer(GMvolume ~ Age * ROI + (1|Sample:ROI), data = dados_datasetscomp_rate)

re <- as_tibble(ranef(m.1)) %>%
  filter(grpvar == "Sample:ROI") %>%
  mutate(
    GM_shift = condval,
    sd_GM_shift = condsd,
    Sample = str_split(grp, pattern = ":", simplify = TRUE)[, 1],
    ROI = str_split(grp, pattern = ":", simplify = TRUE)[, 2]
  ) %>%
  dplyr::select(-c(condval, grpvar, term, condsd, grp))

Age.trend <- as_tibble(lstrends(m.1, ~ ROI, var = "Age")) %>%
  mutate(Age.trend_GM = Age.trend) %>%
  dplyr::select(c(ROI, Age.trend_GM))

dados_datasetscomp <- full_join(dados_datasetscomp, Age.trend) %>%
  full_join(re) %>%
  mutate(
    GMvolume_shiftc = GMvolume - GM_shift,
    GMvolume_age_decay = GMvolume - Age.trend_GM * (Age - Age.cor),
    GMvolume_age_decay_shiftc = GMvolume - GM_shift - Age.trend_GM *
      (Age - Age.cor)
  )

4.2 AvgThickness

m.1 <-
  lme4::lmer(AvgThickness ~ Age * ROI + (1|Sample:ROI), data = dados_datasetscomp_rate)

re <- as_tibble(ranef(m.1)) %>%
  filter(grpvar == "Sample:ROI") %>%
  mutate(
    T_shift = condval,
    sd_T_shift = condsd,
    Sample = str_split(grp, pattern = ":", simplify = TRUE)[, 1],
    ROI = str_split(grp, pattern = ":", simplify = TRUE)[, 2]
  ) %>%
  dplyr::select(-c(condval, grpvar, term, condsd, grp))

Age.trend <- as_tibble(lstrends(m.1, ~ ROI, var = "Age")) %>%
  mutate(Age.trend_T = Age.trend) %>%
  dplyr::select(c(ROI, Age.trend_T))

dados_datasetscomp <- full_join(dados_datasetscomp, Age.trend) %>%
  full_join(re) %>%
  mutate(
    AvgThickness_shiftc = AvgThickness - T_shift,
    AvgThickness_age_decay = AvgThickness - Age.trend_T * (Age - Age.cor),
    AvgThickness_age_decay_shiftc = AvgThickness - T_shift - Age.trend_T *
      (Age - Age.cor),
    logAvgThickness_shiftc = log10(AvgThickness_shiftc),
    logAvgThickness_age_decay = log10(AvgThickness_age_decay),
    logAvgThickness_age_decay_shiftc = log10(AvgThickness_age_decay_shiftc)
  )

4.3 TotalArea

m.1 <-
  lme4::lmer(TotalArea_corrected ~ Age * ROI + (1 | Sample:ROI), data = dados_datasetscomp_rate)

re <- as_tibble(ranef(m.1)) %>%
  filter(grpvar == "Sample:ROI") %>%
  mutate(
    AT_shift = condval,
    sd_AT_shift = condsd,
    Sample = str_split(grp, pattern = ":", simplify = TRUE)[, 1],
    ROI = str_split(grp, pattern = ":", simplify = TRUE)[, 2]
  ) %>%
  dplyr::select(-c(condval, grpvar, term, condsd, grp))

Age.trend <-
  as_tibble(lstrends(m.1, ~ ROI, var = "Age")) %>%
  mutate(Age.trend_AT = Age.trend) %>%
  dplyr::select(c(ROI, Age.trend_AT))

dados_datasetscomp <- full_join(dados_datasetscomp, re) %>%
  full_join(Age.trend) %>%
  mutate(
    TotalArea_shiftc = TotalArea_corrected - AT_shift,
    TotalArea_age_decay = TotalArea_corrected - Age.trend_AT * (Age - Age.cor),
    TotalArea_age_decay_shiftc = TotalArea_corrected - AT_shift - Age.trend_AT *
      (Age - Age.cor),
    logTotalArea_shiftc = log10(TotalArea_shiftc),
    logTotalArea_age_decay = log10(TotalArea_age_decay),
    logTotalArea_age_decay_shiftc = log10(TotalArea_age_decay_shiftc)
  )

4.4 ExposedArea

m.1 <-
  lme4::lmer(
    ExposedArea_corrected  ~ Age * ROI + (1 | Sample:ROI), data = dados_datasetscomp_rate)

re <- as_tibble(ranef(m.1)) %>%
  filter(grpvar == "Sample:ROI") %>%
  mutate(
    AE_shift = condval,
    sd_AE_shift = condsd,
    Sample = str_split(grp, pattern = ":", simplify = TRUE)[, 1],
    ROI = str_split(grp, pattern = ":", simplify = TRUE)[, 2]
  ) %>%
  dplyr::select(-c(condval, grpvar, term, condsd, grp))

Age.trend <-
  as_tibble(lstrends(m.1, ~ ROI, var = "Age")) %>%
  mutate(Age.trend_AE = Age.trend) %>%
  dplyr::select(c(ROI, Age.trend_AE))

dados_datasetscomp <- full_join(dados_datasetscomp, re) %>%
  full_join(Age.trend) %>%
  mutate(
    ExposedArea_shiftc = ExposedArea_corrected - AE_shift,
    ExposedArea_age_decay = ExposedArea_corrected - Age.trend_AE * (Age - Age.cor),
    ExposedArea_age_decay_shiftc = ExposedArea_corrected - AE_shift - Age.trend_AE * (Age - Age.cor),
    logExposedArea_shiftc = log10(ExposedArea_shiftc),
    logExposedArea_age_decay = log10(ExposedArea_age_decay),
    logExposedArea_age_decay_shiftc = log10(ExposedArea_age_decay_shiftc)
  )

4.5 Lobes correction factor

m.1 <-
  lme4::lmer(c ~ Age * ROI + (1|Sample:ROI), data = dados_datasetscomp_rate)

re <- as_tibble(ranef(m.1)) %>%
  filter(grpvar == "Sample:ROI") %>%
  mutate(
    c_shift = condval,
    sd_c_shift = condsd,
    Sample = str_split(grp, pattern = ":", simplify = TRUE)[, 1],
    ROI = str_split(grp, pattern = ":", simplify = TRUE)[, 2]
  ) %>%
  dplyr::select(-c(condval, grpvar, term, condsd, grp))

Age.trend <- as_tibble(lstrends(m.1, ~ ROI, var = "Age")) %>%
  mutate(Age.trend_c = Age.trend) %>%
  dplyr::select(c(ROI, Age.trend_c))

dados_datasetscomp <- full_join(dados_datasetscomp, Age.trend) %>%
  full_join(re) %>%
  mutate(
    c_shiftc = c - c_shift,
    c_age_decay = c - Age.trend_c * (Age - Age.cor),
    c_age_decay_shiftc = c - c_shift - Age.trend_c *
      (Age - Age.cor)
  )
# ----
dados_datasetscomp <- dados_datasetscomp %>%
  mutate(
    localGI_age_decay = TotalArea_age_decay/ExposedArea_age_decay,
    localGI_shiftc = TotalArea_shiftc/ExposedArea_shiftc,
    localGI_age_decay_shiftc = TotalArea_age_decay_shiftc/ExposedArea_age_decay_shiftc,
    K_age_decay = log10(TotalArea_age_decay) + 1/4*log10(AvgThickness_age_decay^2) - 5/4*log10(ExposedArea_age_decay),
    K_shiftc = log10(TotalArea_shiftc) + 1/4*log10(AvgThickness_shiftc^2) - 5/4*log10(ExposedArea_shiftc),
    K_age_decay_shiftc = log10(TotalArea_age_decay_shiftc) + 1/4*log10(AvgThickness_age_decay_shiftc^2) - 5/4*log10(ExposedArea_age_decay_shiftc),
    I_age_decay = log10(TotalArea_age_decay) + log10(ExposedArea_age_decay) + log10(AvgThickness_age_decay^2),
    I_shiftc = log10(TotalArea_shiftc) + log10(ExposedArea_shiftc) + log10(AvgThickness_shiftc^2),
    I_age_decay_shiftc = log10(TotalArea_age_decay_shiftc) + log10(ExposedArea_age_decay_shiftc) + log10(AvgThickness_age_decay_shiftc^2),
    S_age_decay = 3/2*log10(TotalArea_age_decay) + 3/4*log10(ExposedArea_age_decay) - 9/4*log10(AvgThickness_age_decay^2),
    S_shiftc = 3/2*log10(TotalArea_shiftc) + 3/4*log10(ExposedArea_shiftc) - 9/4*log10(AvgThickness_shiftc^2),
    S_age_decay_shiftc = 3/2*log10(TotalArea_age_decay_shiftc) + 3/4*log10(ExposedArea_age_decay_shiftc) - 9/4*log10(AvgThickness_age_decay_shiftc^2),
    Knorm_shiftc = K_shiftc / sqrt(1 + (1 / 4) ^ 2 + (5 / 2) ^ 2),
    Snorm_shiftc = S_shiftc / sqrt((3 / 2) ^ 2 + (3 / 4) ^ 2 + (9 / 4) ^ 2),
    Inorm_shiftc = I_shiftc / sqrt(1 ^ 2 + 1 ^ 2 + 1 ^ 2),
    Knorm_age_decay = K_age_decay / sqrt(1 + (1 / 4) ^ 2 + (5 / 2) ^ 2),
    Snorm_age_decay = S_age_decay / sqrt((3 / 2) ^ 2 + (3 / 4) ^ 2 + (9 / 4) ^ 2),
    Inorm_age_decay = I_age_decay / sqrt(1 ^ 2 + 1 ^ 2 + 1 ^ 2),
    Knorm_age_decay_shiftc = K_age_decay_shiftc / sqrt(1 + (1 / 4) ^ 2 + (5 / 2) ^ 2),
    Snorm_age_decay_shiftc = S_age_decay_shiftc / sqrt((3 / 2) ^ 2 +  (3 / 4) ^ 2 + (9 / 4) ^ 2),
    Inorm_age_decay_shiftc = I_age_decay_shiftc / sqrt(1 ^ 2 + 1 ^ 2 + 1 ^ 2)
  )

5 RESULTS

5.1 Data description

Table 1
Sample Diagnostic N age age_range T AT AE K S I
ADNI CTL 868 75 ± 6.5 56 ; 96 2.4 ± 0.11 97000 ± 8400 39000 ± 2700 -0.56 ± 0.017 9.2 ± 0.13 10 ± 0.074
ADNI AD 542 75 ± 8 56 ; 92 2.2 ± 0.14 95000 ± 10000 38000 ± 3300 -0.58 ± 0.023 9.4 ± 0.15 10 ± 0.11
AHEAD CTL 100 42 ± 19 24 ; 76 2.6 ± 0.15 110000 ± 10000 39000 ± 2700 -0.5 ± 0.023 9.2 ± 0.13 10 ± 0.094
AOMICPIOP1 CTL 208 22 ± 1.8 18 ; 26 2.6 ± 0.084 110000 ± 10000 40000 ± 2700 -0.49 ± 0.014 9.1 ± 0.094 10 ± 0.078
AOMICPIOP2 CTL 224 22 ± 1.8 18 ; 26 2.6 ± 0.089 110000 ± 9100 39000 ± 2700 -0.51 ± 0.013 9.1 ± 0.093 10 ± 0.078
HCPr900 CTL 881 29 ± 3.6 24 ; 37 2.7 ± 0.09 110000 ± 11000 40000 ± 3000 -0.5 ± 0.013 9.1 ± 0.11 10 ± 0.082
IDOR CTL 77 66 ± 8.4 43 ; 80 2.5 ± 0.099 98000 ± 7800 37000 ± 2400 -0.52 ± 0.014 9.1 ± 0.1 10 ± 0.072
IDOR AD 13 77 ± 6.1 63 ; 86 2.4 ± 0.079 95000 ± 9300 37000 ± 3000 -0.55 ± 0.015 9.2 ± 0.13 10 ± 0.069
IXI-Guys CTL 314 51 ± 16 20 ; 86 2.5 ± 0.11 97000 ± 10000 39000 ± 3100 -0.56 ± 0.018 9.2 ± 0.12 10 ± 0.093
IXI-HH CTL 181 47 ± 17 20 ; 82 2.5 ± 0.18 97000 ± 11000 39000 ± 3200 -0.55 ± 0.028 9.2 ± 0.16 10 ± 0.12
IXI-IOP CTL 68 42 ± 17 20 ; 86 2.5 ± 0.13 92000 ± 11000 38000 ± 3300 -0.56 ± 0.02 9.1 ± 0.14 10 ± 0.099
NKI CTL 168 34 ± 19 4 ; 85 2.5 ± 0.14 110000 ± 11000 40000 ± 2800 -0.52 ± 0.027 9.2 ± 0.12 10 ± 0.094
OASIS CTL 312 45 ± 24 18 ; 94 2.3 ± 0.11 1e+05 ± 11000 39000 ± 2900 -0.55 ± 0.023 9.3 ± 0.11 10 ± 0.099

5.2 Linear mixed models summary

5.2.1 GM volume ~ Age

m.1 <- lme4::lmer(GMvolume ~ Age * Diagnostic +(1|Sample) + (1|Sample:Diagnostic) , data = filter(dados_datasetscomp, ROI == "hemisphere"))

Model summary and R squared:

summary(m.1)
## Linear mixed model fit by REML ['lmerMod']
## Formula: GMvolume ~ Age * Diagnostic + (1 | Sample) + (1 | Sample:Diagnostic)
##    Data: filter(dados_datasetscomp, ROI == "hemisphere")
## 
## REML criterion at convergence: 183968.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8395 -0.6727 -0.0320  0.6298  4.5351 
## 
## Random effects:
##  Groups            Name        Variance  Std.Dev.
##  Sample:Diagnostic (Intercept)  27722513  5265   
##  Sample            (Intercept) 366049150 19132   
##  Residual                      733577651 27085   
## Number of obs: 7912, groups:  Sample:Diagnostic, 13; Sample, 11
## 
## Fixed effects:
##                   Estimate Std. Error t value
## (Intercept)      303365.74    6119.08  49.577
## Age               -1061.86      27.79 -38.216
## DiagnosticAD     -67730.51    9855.71  -6.872
## Age:DiagnosticAD    725.19     105.75   6.858
## 
## Correlation of Fixed Effects:
##             (Intr) Age    DgnsAD
## Age         -0.196              
## DiagnostcAD -0.083  0.195       
## Ag:DgnstcAD  0.052 -0.263 -0.809
r.squaredGLMM(m.1)
##            R2m       R2c
## [1,] 0.3957362 0.6067994

5.2.2 AvgThickness ~ Age

m.1 <- lme4::lmer(AvgThickness ~ Age * Diagnostic +(1|Sample) + (1|Sample:Diagnostic) , data = filter(dados_datasetscomp, ROI == "hemisphere"))

Model summary and R squared:

summary(m.1)
## Linear mixed model fit by REML ['lmerMod']
## Formula: 
## AvgThickness ~ Age * Diagnostic + (1 | Sample) + (1 | Sample:Diagnostic)
##    Data: filter(dados_datasetscomp, ROI == "hemisphere")
## 
## REML criterion at convergence: -13111.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -7.8038 -0.6167  0.0104  0.6495  3.4140 
## 
## Random effects:
##  Groups            Name        Variance  Std.Dev.
##  Sample:Diagnostic (Intercept) 0.0006026 0.02455 
##  Sample            (Intercept) 0.0071880 0.08478 
##  Residual                      0.0110146 0.10495 
## Number of obs: 7912, groups:  Sample:Diagnostic, 13; Sample, 11
## 
## Fixed effects:
##                    Estimate Std. Error t value
## (Intercept)       2.7038037  0.0270734  99.869
## Age              -0.0044384  0.0001077 -41.194
## DiagnosticAD     -0.3421007  0.0405587  -8.435
## Age:DiagnosticAD  0.0029937  0.0004098   7.305
## 
## Correlation of Fixed Effects:
##             (Intr) Age    DgnsAD
## Age         -0.172              
## DiagnostcAD -0.084  0.183       
## Ag:DgnstcAD  0.045 -0.263 -0.762
r.squaredGLMM(m.1)
##            R2m       R2c
## [1,] 0.4615061 0.6845916

5.2.3 TotalArea ~ Age

m.1 <- lme4::lmer(TotalArea ~ Age * Diagnostic +(1|Sample) + (1|Sample:Diagnostic) , data = filter(dados_datasetscomp, ROI == "hemisphere"))

Model summary and R squared:

summary(m.1)
## Linear mixed model fit by REML ['lmerMod']
## Formula: TotalArea ~ Age * Diagnostic + (1 | Sample) + (1 | Sample:Diagnostic)
##    Data: filter(dados_datasetscomp, ROI == "hemisphere")
## 
## REML criterion at convergence: 167642
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.9066 -0.7162 -0.0476  0.6633  4.2777 
## 
## Random effects:
##  Groups            Name        Variance Std.Dev.
##  Sample:Diagnostic (Intercept)        0    0    
##  Sample            (Intercept) 23918246 4891    
##  Residual                      93180143 9653    
## Number of obs: 7912, groups:  Sample:Diagnostic, 13; Sample, 11
## 
## Fixed effects:
##                    Estimate Std. Error t value
## (Intercept)      113025.061   1543.436  73.229
## Age                -244.189      9.866 -24.750
## DiagnosticAD     -13184.422   2852.379  -4.622
## Age:DiagnosticAD    152.485     37.675   4.047
## 
## Correlation of Fixed Effects:
##             (Intr) Age    DgnsAD
## Age         -0.277              
## DiagnostcAD -0.073  0.259       
## Ag:DgnstcAD  0.072 -0.263 -0.992
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
r.squaredGLMM(m.1)
##            R2m       R2c
## [1,] 0.2353489 0.3915348

5.2.4 ExposedArea ~ Age

m.1 <- lme4::lmer(ExposedArea ~ Age * Diagnostic +(1|Sample) + (1|Sample:Diagnostic) , data = filter(dados_datasetscomp, ROI == "hemisphere"))

Model summary and R squared:

summary(m.1)
## Linear mixed model fit by REML ['lmerMod']
## Formula: 
## ExposedArea ~ Age * Diagnostic + (1 | Sample) + (1 | Sample:Diagnostic)
##    Data: filter(dados_datasetscomp, ROI == "hemisphere")
## 
## REML criterion at convergence: 148576.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.8868 -0.7093 -0.0618  0.6706  3.8432 
## 
## Random effects:
##  Groups            Name        Variance Std.Dev.
##  Sample:Diagnostic (Intercept)       0     0.0  
##  Sample            (Intercept)  279141   528.3  
##  Residual                      8382585  2895.3  
## Number of obs: 7912, groups:  Sample:Diagnostic, 13; Sample, 11
## 
## Fixed effects:
##                   Estimate Std. Error t value
## (Intercept)      40714.770    207.022 196.669
## Age                -40.602      2.859 -14.204
## DiagnosticAD      -262.931    853.269  -0.308
## Age:DiagnosticAD     1.535     11.275   0.136
## 
## Correlation of Fixed Effects:
##             (Intr) Age    DgnsAD
## Age         -0.597              
## DiagnostcAD -0.151  0.249       
## Ag:DgnstcAD  0.152 -0.255 -0.992
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
r.squaredGLMM(m.1)
##             R2m       R2c
## [1,] 0.09982676 0.1288366

5.2.5 GI ~ Age

m.1 <- lme4::lmer(localGI ~ Age * Diagnostic +(1|Sample) + (1|Sample:Diagnostic) , data = filter(dados_datasetscomp, ROI == "hemisphere"))

Model summary and R squared:

summary(m.1)
## Linear mixed model fit by REML ['lmerMod']
## Formula: localGI ~ Age * Diagnostic + (1 | Sample) + (1 | Sample:Diagnostic)
##    Data: filter(dados_datasetscomp, ROI == "hemisphere")
## 
## REML criterion at convergence: -14689.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.7049 -0.6845 -0.0074  0.6784  6.4692 
## 
## Random effects:
##  Groups            Name        Variance Std.Dev.
##  Sample:Diagnostic (Intercept) 0.000000 0.00000 
##  Sample            (Intercept) 0.012446 0.11156 
##  Residual                      0.009017 0.09496 
## Number of obs: 7912, groups:  Sample:Diagnostic, 13; Sample, 11
## 
## Fixed effects:
##                    Estimate Std. Error t value
## (Intercept)       2.7763677  0.0339367   81.81
## Age              -0.0034689  0.0000975  -35.58
## DiagnosticAD     -0.3178661  0.0280689  -11.32
## Age:DiagnosticAD  0.0037476  0.0003707   10.11
## 
## Correlation of Fixed Effects:
##             (Intr) Age    DgnsAD
## Age         -0.124              
## DiagnostcAD -0.033  0.260       
## Ag:DgnstcAD  0.033 -0.264 -0.992
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
r.squaredGLMM(m.1)
##            R2m       R2c
## [1,] 0.2623413 0.6900971

5.2.6 K ~ Age

m.1 <- lme4::lmer(K ~ Age * Diagnostic +(1|Sample) + (1|Sample:Diagnostic) , data = filter(dados_datasetscomp, ROI == "hemisphere"))

Model summary and R squared:

summary(m.1)
## Linear mixed model fit by REML ['lmerMod']
## Formula: K ~ Age * Diagnostic + (1 | Sample) + (1 | Sample:Diagnostic)
##    Data: filter(dados_datasetscomp, ROI == "hemisphere")
## 
## REML criterion at convergence: -42555
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -6.9733 -0.6065  0.0381  0.6446  5.2725 
## 
## Random effects:
##  Groups            Name        Variance  Std.Dev.
##  Sample:Diagnostic (Intercept) 4.607e-06 0.002146
##  Sample            (Intercept) 4.410e-04 0.021001
##  Residual                      2.658e-04 0.016304
## Number of obs: 7912, groups:  Sample:Diagnostic, 13; Sample, 11
## 
## Fixed effects:
##                    Estimate Std. Error t value
## (Intercept)      -4.920e-01  6.412e-03  -76.73
## Age              -8.612e-04  1.675e-05  -51.40
## DiagnosticAD     -8.439e-02  5.444e-03  -15.50
## Age:DiagnosticAD  8.855e-04  6.366e-05   13.91
## 
## Correlation of Fixed Effects:
##             (Intr) Age    DgnsAD
## Age         -0.113              
## DiagnostcAD -0.039  0.221       
## Ag:DgnstcAD  0.030 -0.264 -0.882
r.squaredGLMM(m.1)
##            R2m       R2c
## [1,] 0.4372324 0.7897408

5.2.7 S ~ Age

m.1 <- lme4::lmer(S ~ Age * Diagnostic +(1|Sample) + (1|Sample:Diagnostic) , data = filter(dados_datasetscomp, ROI == "hemisphere"))

Model summary and R squared:

summary(m.1)
## Linear mixed model fit by REML ['lmerMod']
## Formula: S ~ Age * Diagnostic + (1 | Sample) + (1 | Sample:Diagnostic)
##    Data: filter(dados_datasetscomp, ROI == "hemisphere")
## 
## REML criterion at convergence: -10789.6
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.5837 -0.6903 -0.0315  0.6406  5.5519 
## 
## Random effects:
##  Groups            Name        Variance  Std.Dev.
##  Sample:Diagnostic (Intercept) 0.0003168 0.01780 
##  Sample            (Intercept) 0.0057953 0.07613 
##  Residual                      0.0147855 0.12160 
## Number of obs: 7912, groups:  Sample:Diagnostic, 13; Sample, 11
## 
## Fixed effects:
##                    Estimate Std. Error t value
## (Intercept)       9.0840260  0.0242645 374.375
## Age               0.0017030  0.0001246  13.664
## DiagnosticAD      0.1969053  0.0413152   4.766
## Age:DiagnosticAD -0.0013879  0.0004747  -2.924
## 
## Correlation of Fixed Effects:
##             (Intr) Age    DgnsAD
## Age         -0.222              
## DiagnostcAD -0.079  0.212       
## Ag:DgnstcAD  0.058 -0.263 -0.866
r.squaredGLMM(m.1)
##            R2m      R2c
## [1,] 0.1515722 0.399721

5.2.8 I ~ Age

m.1 <- lme4::lmer(I ~ Age * Diagnostic +(1|Sample) + (1|Sample:Diagnostic) , data = filter(dados_datasetscomp, ROI == "hemisphere"))

Model summary and R squared:

summary(m.1)
## Linear mixed model fit by REML ['lmerMod']
## Formula: I ~ Age * Diagnostic + (1 | Sample) + (1 | Sample:Diagnostic)
##    Data: filter(dados_datasetscomp, ROI == "hemisphere")
## 
## REML criterion at convergence: -17050
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -4.9306 -0.6593 -0.0005  0.6762  3.2113 
## 
## Random effects:
##  Groups            Name        Variance  Std.Dev.
##  Sample:Diagnostic (Intercept) 0.0001859 0.01364 
##  Sample            (Intercept) 0.0013945 0.03734 
##  Residual                      0.0067038 0.08188 
## Number of obs: 7912, groups:  Sample:Diagnostic, 13; Sample, 11
## 
## Fixed effects:
##                    Estimate Std. Error t value
## (Intercept)       1.053e+01  1.259e-02 836.069
## Age              -3.118e-03  8.371e-05 -37.254
## DiagnosticAD     -1.829e-01  2.848e-02  -6.421
## Age:DiagnosticAD  1.747e-03  3.196e-04   5.467
## 
## Correlation of Fixed Effects:
##             (Intr) Age    DgnsAD
## Age         -0.287              
## DiagnostcAD -0.109  0.200       
## Ag:DgnstcAD  0.075 -0.262 -0.844
r.squaredGLMM(m.1)
##            R2m       R2c
## [1,] 0.4505911 0.5554086