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 (fernandahmoraes@gmail.com) in case any help is needed, our aim is to improve the code as needed!
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")
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")
# 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")
# 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"))
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)
)
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)
)
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)
)
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)
)
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)
)
dados_datasetscomp_lobes <- filter(dados_datasetscomp, ROI != "hemisphere", Diagnostic == "CTL" | Diagnostic == "AD", Sample != "IDOR-CCD-Control")
dados_datasetscomp_lobes$Diagnostic <- factor(dados_datasetscomp_lobes$Diagnostic, levels = c("CTL", "MCI","AD"))
dados_datasetscomp_lobes$Sample <- as.factor(dados_datasetscomp_lobes$Sample)
## Linear mixed model fit by REML ['lmerMod']
## Formula:
## AvgThickness_shiftc ~ Age * Diagnostic * ROI + (1 | Sample:Diagnostic:ROI)
## Data: dados_datasetscomp_lobes
##
## REML criterion at convergence: -43033.4
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -7.3354 -0.6219 0.0134 0.6502 4.3211
##
## Random effects:
## Groups Name Variance Std.Dev.
## Sample:Diagnostic:ROI (Intercept) 0.00000 0.0000
## Residual 0.01332 0.1154
## Number of obs: 29188, groups: Sample:Diagnostic:ROI, 48
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 2.765e+00 3.326e-03 831.367
## Age -5.844e-03 6.479e-05 -90.196
## DiagnosticAD -4.866e-01 3.295e-02 -14.768
## ROIO -5.327e-01 4.704e-03 -113.243
## ROIP -2.304e-01 4.704e-03 -48.967
## ROIT 1.412e-01 4.704e-03 30.015
## Age:DiagnosticAD 4.892e-03 4.388e-04 11.148
## Age:ROIO 2.448e-03 9.163e-05 26.715
## Age:ROIP 1.006e-03 9.163e-05 10.975
## Age:ROIT 7.094e-04 9.163e-05 7.742
## DiagnosticAD:ROIO 2.571e-01 4.660e-02 5.518
## DiagnosticAD:ROIP -9.344e-02 4.660e-02 -2.005
## DiagnosticAD:ROIT 1.087e-02 4.660e-02 0.233
## Age:DiagnosticAD:ROIO -2.668e-03 6.206e-04 -4.299
## Age:DiagnosticAD:ROIP 1.142e-03 6.206e-04 1.840
## Age:DiagnosticAD:ROIT -1.329e-03 6.206e-04 -2.142
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
## R2m R2c
## [1,] 0.8286405 0.8286405
## Linear mixed model fit by REML ['lmerMod']
## Formula: localGI_shiftc ~ Age * Diagnostic * ROI + (1 | Sample:Diagnostic:ROI)
## Data: dados_datasetscomp_lobes
##
## REML criterion at convergence: -41589.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.6246 -0.6650 -0.0183 0.6427 6.7829
##
## Random effects:
## Groups Name Variance Std.Dev.
## Sample:Diagnostic:ROI (Intercept) 0.00000 0.0000
## Residual 0.01399 0.1183
## Number of obs: 29188, groups: Sample:Diagnostic:ROI, 48
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 2.497e+00 3.410e-03 732.392
## Age -2.896e-03 6.641e-05 -43.605
## DiagnosticAD -2.721e-01 3.378e-02 -8.054
## ROIO 9.357e-02 4.822e-03 19.404
## ROIP 6.297e-01 4.822e-03 130.584
## ROIT 1.043e-01 4.822e-03 21.639
## Age:DiagnosticAD 3.277e-03 4.498e-04 7.285
## Age:ROIO 3.577e-04 9.392e-05 3.808
## Age:ROIP -1.910e-03 9.392e-05 -20.337
## Age:ROIT -5.665e-04 9.392e-05 -6.032
## DiagnosticAD:ROIO 8.109e-02 4.777e-02 1.697
## DiagnosticAD:ROIP -1.542e-01 4.777e-02 -3.229
## DiagnosticAD:ROIT 8.861e-03 4.777e-02 0.186
## Age:DiagnosticAD:ROIO -1.225e-03 6.361e-04 -1.925
## Age:DiagnosticAD:ROIP 1.787e-03 6.361e-04 2.810
## Age:DiagnosticAD:ROIT -3.535e-04 6.361e-04 -0.556
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
## R2m R2c
## [1,] 0.7841759 0.7841759
## Linear mixed model fit by REML ['lmerMod']
## Formula: K_shiftc ~ Age * Diagnostic * ROI + (1 | Sample:Diagnostic:ROI)
## Data: dados_datasetscomp_lobes
##
## REML criterion at convergence: -139166.2
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -6.3529 -0.6169 0.0203 0.6414 5.3896
##
## Random effects:
## Groups Name Variance Std.Dev.
## Sample:Diagnostic:ROI (Intercept) 0.0000000 0.00000
## Residual 0.0004934 0.02221
## Number of obs: 29188, groups: Sample:Diagnostic:ROI, 48
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) -5.062e-01 6.403e-04 -790.494
## Age -9.198e-04 1.247e-05 -73.752
## DiagnosticAD -9.008e-02 6.343e-03 -14.201
## ROIO 4.222e-02 9.055e-04 46.621
## ROIP 4.204e-02 9.055e-04 46.429
## ROIT 2.639e-02 9.055e-04 29.142
## Age:DiagnosticAD 9.744e-04 8.447e-05 11.536
## Age:ROIO 2.355e-04 1.764e-05 13.352
## Age:ROIP -2.060e-04 1.764e-05 -11.680
## Age:ROIT -3.828e-05 1.764e-05 -2.170
## DiagnosticAD:ROIO 3.362e-02 8.970e-03 3.748
## DiagnosticAD:ROIP -4.009e-02 8.970e-03 -4.469
## DiagnosticAD:ROIT 6.636e-03 8.970e-03 0.740
## Age:DiagnosticAD:ROIO -4.070e-04 1.195e-04 -3.407
## Age:DiagnosticAD:ROIP 4.587e-04 1.195e-04 3.840
## Age:DiagnosticAD:ROIT -2.046e-04 1.195e-04 -1.713
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
## R2m R2c
## [1,] 0.6802282 0.6802282
## Linear mixed model fit by REML ['lmerMod']
## Formula: S_shiftc ~ Age * Diagnostic * ROI + (1 | Sample:Diagnostic:ROI)
## Data: dados_datasetscomp_lobes
##
## REML criterion at convergence: -29380.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.2192 -0.6718 -0.0240 0.6368 5.8473
##
## Random effects:
## Groups Name Variance Std.Dev.
## Sample:Diagnostic:ROI (Intercept) 0.00000 0.0000
## Residual 0.02126 0.1458
## Number of obs: 29188, groups: Sample:Diagnostic:ROI, 48
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 8.731e+00 4.203e-03 2076.999
## Age 2.681e-03 8.187e-05 32.752
## DiagnosticAD 2.785e-01 4.164e-02 6.689
## ROIO -2.149e-01 5.945e-03 -36.156
## ROIP 6.513e-01 5.945e-03 109.566
## ROIT -4.981e-02 5.945e-03 -8.379
## Age:DiagnosticAD -2.415e-03 5.545e-04 -4.355
## Age:ROIO -1.212e-03 1.158e-04 -10.464
## Age:ROIP -1.198e-04 1.158e-04 -1.035
## Age:ROIT -5.236e-04 1.158e-04 -4.522
## DiagnosticAD:ROIO -1.154e-01 5.889e-02 -1.960
## DiagnosticAD:ROIP 2.092e-01 5.889e-02 3.552
## DiagnosticAD:ROIT -2.767e-02 5.889e-02 -0.470
## Age:DiagnosticAD:ROIO 9.338e-04 7.842e-04 1.191
## Age:DiagnosticAD:ROIP -2.442e-03 7.842e-04 -3.114
## Age:DiagnosticAD:ROIT 9.578e-04 7.842e-04 1.221
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
## R2m R2c
## [1,] 0.8568137 0.8568137
## Linear mixed model fit by REML ['lmerMod']
## Formula: S_shiftc ~ Age * Diagnostic * ROI + (1 | Sample:Diagnostic:ROI)
## Data: dados_datasetscomp_lobes
##
## REML criterion at convergence: -29380.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.2192 -0.6718 -0.0240 0.6368 5.8473
##
## Random effects:
## Groups Name Variance Std.Dev.
## Sample:Diagnostic:ROI (Intercept) 0.00000 0.0000
## Residual 0.02126 0.1458
## Number of obs: 29188, groups: Sample:Diagnostic:ROI, 48
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 8.731e+00 4.203e-03 2076.999
## Age 2.681e-03 8.187e-05 32.752
## DiagnosticAD 2.785e-01 4.164e-02 6.689
## ROIO -2.149e-01 5.945e-03 -36.156
## ROIP 6.513e-01 5.945e-03 109.566
## ROIT -4.981e-02 5.945e-03 -8.379
## Age:DiagnosticAD -2.415e-03 5.545e-04 -4.355
## Age:ROIO -1.212e-03 1.158e-04 -10.464
## Age:ROIP -1.198e-04 1.158e-04 -1.035
## Age:ROIT -5.236e-04 1.158e-04 -4.522
## DiagnosticAD:ROIO -1.154e-01 5.889e-02 -1.960
## DiagnosticAD:ROIP 2.092e-01 5.889e-02 3.552
## DiagnosticAD:ROIT -2.767e-02 5.889e-02 -0.470
## Age:DiagnosticAD:ROIO 9.338e-04 7.842e-04 1.191
## Age:DiagnosticAD:ROIP -2.442e-03 7.842e-04 -3.114
## Age:DiagnosticAD:ROIT 9.578e-04 7.842e-04 1.221
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
## R2m R2c
## [1,] 0.8568137 0.8568137
rate <- full_join(tableT, tableK) %>%
full_join(tableS) %>%
full_join(tableI) %>%
full_join(tableGI) %>%
mutate(TX = paste(signif(Age.trend, 2), "±", signif(SE.y, 2)),
percent = signif(percent, 2)) %>%
dplyr::select(-c(Age.trend, SE.y))
rate %>%
kable() %>%
kable_styling()
Diagnostic | ROI | percent | Variable | TX |
---|---|---|---|---|
CTL | F | -0.24000 | T_shiftc | -0.0058 ± 6.5e-05 |
AD | F | -0.04300 | T_shiftc | -0.00095 ± 0.00043 |
CTL | O | -0.16000 | T_shiftc | -0.0034 ± 6.5e-05 |
AD | O | -0.06000 | T_shiftc | -0.0012 ± 0.00043 |
CTL | P | -0.21000 | T_shiftc | -0.0048 ± 6.5e-05 |
AD | P | 0.05900 | T_shiftc | 0.0012 ± 0.00043 |
CTL | T | -0.19000 | T_shiftc | -0.0051 ± 6.5e-05 |
AD | T | -0.06700 | T_shiftc | -0.0016 ± 0.00043 |
CTL | F | -0.17000 | K_shiftc | -0.00092 ± 1.2e-05 |
AD | F | 0.00920 | K_shiftc | 5.5e-05 ± 8.4e-05 |
CTL | O | -0.14000 | K_shiftc | -0.00068 ± 1.2e-05 |
AD | O | -0.02200 | K_shiftc | -0.00012 ± 8.4e-05 |
CTL | P | -0.22000 | K_shiftc | -0.0011 ± 1.2e-05 |
AD | P | 0.05300 | K_shiftc | 0.00031 ± 8.4e-05 |
CTL | T | -0.18000 | K_shiftc | -0.00096 ± 1.2e-05 |
AD | T | -0.03300 | K_shiftc | -0.00019 ± 8.4e-05 |
CTL | F | 0.03000 | S_shiftc | 0.0027 ± 8.2e-05 |
AD | F | 0.00300 | S_shiftc | 0.00027 ± 0.00055 |
CTL | O | 0.01700 | S_shiftc | 0.0015 ± 8.2e-05 |
AD | O | -0.00013 | S_shiftc | -1.1e-05 ± 0.00055 |
CTL | P | 0.02700 | S_shiftc | 0.0026 ± 8.2e-05 |
AD | P | -0.02400 | S_shiftc | -0.0023 ± 0.00055 |
CTL | T | 0.02500 | S_shiftc | 0.0022 ± 8.2e-05 |
AD | T | 0.00780 | S_shiftc | 7e-04 ± 0.00055 |
CTL | F | 0.03000 | I_shiftc | 0.0027 ± 8.2e-05 |
AD | F | 0.00300 | I_shiftc | 0.00027 ± 0.00055 |
CTL | O | 0.01700 | I_shiftc | 0.0015 ± 8.2e-05 |
AD | O | -0.00013 | I_shiftc | -1.1e-05 ± 0.00055 |
CTL | P | 0.02700 | I_shiftc | 0.0026 ± 8.2e-05 |
AD | P | -0.02400 | I_shiftc | -0.0023 ± 0.00055 |
CTL | T | 0.02500 | I_shiftc | 0.0022 ± 8.2e-05 |
AD | T | 0.00780 | I_shiftc | 7e-04 ± 0.00055 |
CTL | F | -0.12000 | localGI_shiftc | -0.0029 ± 6.6e-05 |
AD | F | 0.01700 | localGI_shiftc | 0.00038 ± 0.00044 |
CTL | O | -0.10000 | localGI_shiftc | -0.0025 ± 6.6e-05 |
AD | O | -0.02000 | localGI_shiftc | -0.00049 ± 0.00044 |
CTL | P | -0.17000 | localGI_shiftc | -0.0048 ± 6.6e-05 |
AD | P | 0.00950 | localGI_shiftc | 0.00026 ± 0.00044 |
CTL | T | -0.14000 | localGI_shiftc | -0.0035 ± 6.6e-05 |
AD | T | -0.02300 | localGI_shiftc | -0.00054 ± 0.00044 |
fit_lobes
fig_TX_age_lobes_DIAG