MoCA
Itens do MoCA
# Seleciona os itens do MoCA
moca_itens <- dat %>%
dplyr::select(starts_with("moca"))
colnames(moca_itens)
## [1] "moca01_tmt" "moca02_cubo"
## [3] "moca03TDRcontorno" "moca04TDRnum"
## [5] "moca05TDRpont" "moca06nome_leao"
## [7] "moca07nome_rino" "moca08nome_camelo"
## [9] "moca09digitspan_direto" "moca10digitspan_indireto"
## [11] "moca11_vigilancia" "moca12subtracao7.1"
## [13] "moca13subtracao7.2" "moca14subtracao7.3"
## [15] "moca15subtracao7.4" "moca16subtracao7.5"
## [17] "moca17repeticao1" "moca18repeticao2"
## [19] "moca19fluenciaverbfon" "moca20abstracao1"
## [21] "moca21abstracao2" "moca22evocacao1"
## [23] "moca23evocacao2" "moca24evocacao3"
## [25] "moca25evocacao4" "moca26evocacao5"
## [27] "moca27orientacao1" "moca28orientacao2"
## [29] "moca29orientacao3" "moca30orientacao4"
## [31] "moca31orientacao5" "moca32orientacao6"
## [33] "MoCAtotal2"
# Exclui o somatório total
moca_itens = moca_itens[-33]
EGAnet::EGA(moca_itens)
## Warning in EGA.estimate(data = cor.data, n = n, model = model, model.args = model.args, : Correlation matrix is not positive definite.
## Forcing positive definite matrix using Matrix::nearPD()
## Results may be unreliable
## Warning in EGA.estimate(cor.data, n = n, model = model, model.args = model.args, : Correlation matrix is not positive definite.
## Forcing positive definite matrix using Matrix::nearPD()
## Results may be unreliable

## EGA Results:
##
## Number of Dimensions:
## [1] 5
##
## Items per Dimension:
## items dimension
## moca01_tmt moca01_tmt 1
## moca06nome_leao moca06nome_leao 1
## moca07nome_rino moca07nome_rino 1
## moca08nome_camelo moca08nome_camelo 1
## moca09digitspan_direto moca09digitspan_direto 1
## moca10digitspan_indireto moca10digitspan_indireto 1
## moca13subtracao7.2 moca13subtracao7.2 1
## moca15subtracao7.4 moca15subtracao7.4 1
## moca16subtracao7.5 moca16subtracao7.5 1
## moca17repeticao1 moca17repeticao1 1
## moca24evocacao3 moca24evocacao3 1
## moca32orientacao6 moca32orientacao6 1
## moca03TDRcontorno moca03TDRcontorno 2
## moca11_vigilancia moca11_vigilancia 2
## moca14subtracao7.3 moca14subtracao7.3 2
## moca19fluenciaverbfon moca19fluenciaverbfon 2
## moca20abstracao1 moca20abstracao1 2
## moca21abstracao2 moca21abstracao2 2
## moca02_cubo moca02_cubo 3
## moca04TDRnum moca04TDRnum 3
## moca05TDRpont moca05TDRpont 3
## moca12subtracao7.1 moca12subtracao7.1 3
## moca18repeticao2 moca18repeticao2 4
## moca22evocacao1 moca22evocacao1 4
## moca23evocacao2 moca23evocacao2 4
## moca25evocacao4 moca25evocacao4 4
## moca26evocacao5 moca26evocacao5 4
## moca27orientacao1 moca27orientacao1 5
## moca28orientacao2 moca28orientacao2 5
## moca29orientacao3 moca29orientacao3 5
## moca30orientacao4 moca30orientacao4 5
## moca31orientacao5 moca31orientacao5 5
Itens agrupados
# Agrupa os itens com dependência local
# 0) Orientação
dat$orientacao <- dat$moca27orientacao1 + dat$moca28orientacao2 + dat$moca29orientacao3 +
dat$moca30orientacao4 + dat$moca31orientacao5 + dat$moca32orientacao6
table(dat$orientacao) # ORIENTAÇÃO NÃO TEVE VARIÂNCIA!
##
## 0 5 6
## 1 1 91
# Dicotomização da Orientação
dat$orientacao <- if_else(dat$orientacao < 6, 0, 1)
table(dat$orientacao)
##
## 0 1
## 2 91
# 1) Relógio
dat$relogio <- dat$moca03TDRcontorno + dat$moca04TDRnum + dat$moca05TDRpont
table(dat$relogio)
##
## 1 2 3
## 7 25 61
# 2) Nomeação
dat$nomeacao <- dat$moca06nome_leao + dat$moca07nome_rino + dat$moca08nome_camelo
table(dat$nomeacao)
##
## 0 1 2 3
## 2 5 7 79
# 3) Subtração
dat$subtracao <- dat$moca12subtracao7.1 + dat$moca13subtracao7.2 + dat$moca14subtracao7.3 + dat$moca15subtracao7.4 + dat$moca16subtracao7.5
table(dat$subtracao)
##
## 0 1 2 3 4 5
## 1 4 5 7 32 44
# 4) Span de dígitos
dat$span <- dat$moca09digitspan_direto + dat$moca10digitspan_indireto
table(dat$span)
##
## 0 1 2
## 7 28 58
# 5) Repetição
dat$repeticao <- dat$moca17repeticao1 + dat$moca18repeticao2
table(dat$repeticao)
##
## 0 1 2
## 31 46 16
# 6) Abstração
dat$abstracao <- dat$moca20abstracao1 + dat$moca21abstracao2
table(dat$abstracao)
##
## 0 1 2
## 9 23 61
# 7) Evocação
dat$evocacao <- dat$moca22evocacao1 + dat$moca23evocacao2 + dat$moca24evocacao3 + dat$moca25evocacao4 + dat$moca26evocacao5
table(dat$evocacao)
##
## 0 1 2 3 4 5
## 8 9 11 17 20 28
# 8) Trilhas
dat$trilhas <- dat$moca01_tmt
table(dat$trilhas)
##
## 0 1
## 10 83
# 9) Vigilância
dat$vigilancia <- dat$moca11_vigilancia
table(dat$vigilancia)
##
## 0 1
## 4 89
# 10) Fluência F
dat$fluencia <- dat$moca19fluenciaverbfon
table(dat$fluencia)
##
## 0 1
## 23 70
# 11) Cubo Erros
dat$cubo <- dat$moca02_cubo
table(dat$cubo)
##
## 0 1
## 23 70
# 11) Cubo Erros
dat$cubo_erros <- dat$cubo_erros_plano
table(dat$cubo_erros)
##
## 0 1 2 3 4 5
## 73 8 6 3 2 1
# 11.1) Cubo Erros INVERTIDO
dat$cubo_erros_inv <- 5 - dat$cubo_erros_plano
table(dat$cubo_erros_inv)
##
## 0 1 2 3 4 5
## 1 2 3 6 8 73
# 12) Erros dos Vertices
dat$erros_vertices <- dat$cube_vertices_errors
table(dat$erros_vertices)
##
## 0 1 2 3 4 5 8
## 75 5 3 4 3 2 1
# 12.1) Erros dos Vertices INVERTIDO
dat$erros_vertices_inv <- 8 - dat$cube_vertices_errors
table(dat$erros_vertices_inv)
##
## 0 3 4 5 6 7 8
## 1 2 3 4 3 5 75
# Seleciona os itens
moca_itens <- dat %>%
dplyr::select(relogio,
nomeacao,
subtracao,
span,
repeticao,
abstracao,
evocacao,
trilhas,
vigilancia,
fluencia,
#orientacao,
cubo)
# Dimensionalidade
EGAnet::EGA(moca_itens, algorithm = "walktrap")
## Warning in EGA.estimate(data = cor.data, n = n, model = model, model.args = model.args, : Correlation matrix is not positive definite.
## Forcing positive definite matrix using Matrix::nearPD()
## Results may be unreliable
## Warning in EGA.estimate(cor.data, n = n, model = model, model.args = model.args, : Correlation matrix is not positive definite.
## Forcing positive definite matrix using Matrix::nearPD()
## Results may be unreliable

## EGA Results:
##
## Number of Dimensions:
## [1] 3
##
## Items per Dimension:
## items dimension
## repeticao repeticao 1
## abstracao abstracao 1
## evocacao evocacao 1
## trilhas trilhas 1
## fluencia fluencia 1
## relogio relogio 2
## cubo cubo 2
## nomeacao nomeacao 3
## subtracao subtracao 3
## span span 3
## vigilancia vigilancia 3
# Cubo Erros Invertido
moca_itens2 <- dat %>%
dplyr::select(relogio,
nomeacao,
subtracao,
span,
repeticao,
abstracao,
evocacao,
trilhas,
vigilancia,
fluencia,
cubo_erros_inv)
EGAnet::EGA(moca_itens2)
## Warning in EGA.estimate(data = cor.data, n = n, model = model, model.args = model.args, : Correlation matrix is not positive definite.
## Forcing positive definite matrix using Matrix::nearPD()
## Results may be unreliable
## Warning in EGA.estimate(data = cor.data, n = n, model = model, model.args = model.args, : Correlation matrix is not positive definite.
## Forcing positive definite matrix using Matrix::nearPD()
## Results may be unreliable

## EGA Results:
##
## Number of Dimensions:
## [1] 3
##
## Items per Dimension:
## items dimension
## repeticao repeticao 1
## abstracao abstracao 1
## evocacao evocacao 1
## trilhas trilhas 1
## fluencia fluencia 1
## nomeacao nomeacao 2
## subtracao subtracao 2
## span span 2
## vigilancia vigilancia 2
## relogio relogio 3
## cubo_erros_inv cubo_erros_inv 3
# Erros Vertices Invertido
moca_itens3 <- dat %>%
dplyr::select(relogio,
nomeacao,
subtracao,
span,
repeticao,
abstracao,
evocacao,
trilhas,
vigilancia,
fluencia,
erros_vertices_inv)
EGAnet::EGA(moca_itens3)
## Warning in EGA.estimate(data = cor.data, n = n, model = model, model.args = model.args, : Correlation matrix is not positive definite.
## Forcing positive definite matrix using Matrix::nearPD()
## Results may be unreliable
## Warning in EGA.estimate(data = cor.data, n = n, model = model, model.args = model.args, : Correlation matrix is not positive definite.
## Forcing positive definite matrix using Matrix::nearPD()
## Results may be unreliable

## EGA Results:
##
## Number of Dimensions:
## [1] 3
##
## Items per Dimension:
## items dimension
## relogio relogio 1
## trilhas trilhas 1
## erros_vertices_inv erros_vertices_inv 1
## repeticao repeticao 2
## abstracao abstracao 2
## evocacao evocacao 2
## fluencia fluencia 2
## nomeacao nomeacao 3
## subtracao subtracao 3
## span span 3
## vigilancia vigilancia 3
MoCA (Comparação entre os grupos)
moca_itens <- dat %>%
dplyr::select(relogio,
nomeacao,
subtracao,
span,
repeticao,
abstracao,
evocacao,
trilhas,
vigilancia,
fluencia,
cubo,
cubo_erros_inv,
erros_vertices_inv)
# Insere variáveis demográficas
moca_itens$idade <- dat$idade.x
moca_itens$escolaridade <- dat$escolaridade
moca_itens$sexo <- dat$sexo - 1
moca_itens$grupo.moca <- dat$grupo.moca
# moca_itens$grupo <- as.factor(dat$grupo)
moca_itens %>% mutate(across(relogio:erros_vertices_inv, factor)) %>%
DataExplorer::plot_bar()


library(compareGroups)
categ <- moca_itens %>%
compareGroups(grupo.moca ~ ., data = .,
riskratio = TRUE,
var.equal = TRUE,
compute.prop = TRUE,
p.corrected = TRUE,
oddsratio.method = "midp",
chisq.test.perm = TRUE,
method = 4)
categ
##
##
## -------- Summary of results by groups of 'grupo.moca'---------
##
##
## var N p.value method selection
## 1 relogio 93 0.170 continuous non-normal ALL
## 2 nomeacao 93 0.029** continuous non-normal ALL
## 3 subtracao 93 0.083* continuous non-normal ALL
## 4 span 93 0.375 continuous non-normal ALL
## 5 repeticao 93 0.213 continuous non-normal ALL
## 6 abstracao 93 0.476 continuous non-normal ALL
## 7 evocacao 93 0.233 continuous non-normal ALL
## 8 trilhas 93 0.487 continuous non-normal ALL
## 9 vigilancia 93 0.539 continuous non-normal ALL
## 10 fluencia 93 0.164 continuous non-normal ALL
## 11 cubo 93 0.574 continuous non-normal ALL
## 12 cubo_erros_inv 93 0.109 continuous non-normal ALL
## 13 erros_vertices_inv 93 0.024** continuous non-normal ALL
## 14 idade 93 0.236 continuous non-normal ALL
## 15 escolaridade 93 0.837 continuous non-normal ALL
## 16 sexo 93 0.640 continuous non-normal ALL
## -----
## Signif. codes: 0 '**' 0.05 '*' 0.1 ' ' 1
restab <- createTable(categ, show.all = TRUE)
#update(restab, x = update(categ, ~ . ))
update(restab, show.n=TRUE)
##
## --------Summary descriptives table by 'grupo.moca'---------
##
## __________________________________________________________________________________
## [ALL] 1 2 p.overall N
## N=93 N=56 N=37
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
## relogio 3.00 [2.00;3.00] 3.00 [2.00;3.00] 3.00 [2.00;3.00] 0.170 93
## nomeacao 3.00 [3.00;3.00] 3.00 [3.00;3.00] 3.00 [3.00;3.00] 0.029 93
## subtracao 4.00 [4.00;5.00] 4.00 [4.00;5.00] 5.00 [4.00;5.00] 0.083 93
## span 2.00 [1.00;2.00] 2.00 [1.00;2.00] 2.00 [1.00;2.00] 0.375 93
## repeticao 1.00 [0.00;1.00] 1.00 [0.00;1.00] 1.00 [0.00;1.00] 0.213 93
## abstracao 2.00 [1.00;2.00] 2.00 [1.00;2.00] 2.00 [1.00;2.00] 0.476 93
## evocacao 4.00 [2.00;5.00] 4.00 [2.75;5.00] 3.00 [1.00;5.00] 0.233 93
## trilhas 1.00 [1.00;1.00] 1.00 [1.00;1.00] 1.00 [1.00;1.00] 0.487 93
## vigilancia 1.00 [1.00;1.00] 1.00 [1.00;1.00] 1.00 [1.00;1.00] 0.539 93
## fluencia 1.00 [1.00;1.00] 1.00 [1.00;1.00] 1.00 [0.00;1.00] 0.164 93
## cubo 1.00 [1.00;1.00] 1.00 [0.00;1.00] 1.00 [1.00;1.00] 0.574 93
## cubo_erros_inv 5.00 [5.00;5.00] 5.00 [4.00;5.00] 5.00 [5.00;5.00] 0.109 93
## erros_vertices_inv 8.00 [8.00;8.00] 8.00 [7.00;8.00] 8.00 [8.00;8.00] 0.024 93
## idade 37.0 [30.0;45.0] 35.5 [30.0;43.2] 40.0 [30.0;51.0] 0.236 93
## escolaridade 15.0 [13.0;17.0] 15.0 [13.0;17.0] 15.0 [13.0;18.0] 0.837 93
## sexo 1.00 [0.00;1.00] 1.00 [0.00;1.00] 1.00 [0.00;1.00] 0.640 93
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
# Exporta para CSV
write.csv(moca_itens, "moca_itens.csv")
MoCA (Regressões ordinais e logísticas)
# GLM (Dados categóricos ordinais)
library(MASS)
library(ordinal)
# Variáveis Ordinais do MoCA
data_ord <-
moca_itens %>%
mutate(grupo.moca = factor(grupo.moca)) %>%
mutate(across(relogio:erros_vertices_inv, factor)) %>%
# Ordinais
dplyr::select(relogio:evocacao) %>%
map(~ clm(.x ~ grupo.moca + idade + escolaridade + sexo,
data = moca_itens)) %>%
map_dfr(~ broom::tidy(.), .id = 'source') %>%
mutate(p.value = round(p.value, 4)) %>%
rstatix::adjust_pvalue(method = "fdr")
data_ord
## # A tibble: 49 × 8
## source term estimate std.error statistic p.value coef.type p.value.adj
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 relogio 1|2 -0.323 1.79 -0.180 0.857 intercept 0.954
## 2 relogio 2|3 1.84 1.79 1.03 0.303 intercept 0.483
## 3 relogio grupo.moca 0.733 0.488 1.50 0.133 location 0.296
## 4 relogio idade -0.0234 0.0230 -1.02 0.308 location 0.483
## 5 relogio escolaridade 0.231 0.0837 2.76 0.0058 location 0.0474
## 6 relogio sexo -1.57 0.560 -2.80 0.0051 location 0.0474
## 7 nomeacao 0|1 5.67 3.66 1.55 0.121 intercept 0.283
## 8 nomeacao 1|2 7.08 3.64 1.94 0.0519 intercept 0.178
## 9 nomeacao 2|3 7.93 3.65 2.17 0.0296 intercept 0.112
## 10 nomeacao grupo.moca 2.14 0.902 2.38 0.0174 location 0.0784
## # … with 39 more rows
# Filtra o termo
tabela <- data_ord %>%
filter(term == "grupo.moca")
tabela
## # A tibble: 7 × 8
## source term estimate std.error statistic p.value coef.type p.value.adj
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 relogio grupo.moca 0.733 0.488 1.50 0.133 location 0.296
## 2 nomeacao grupo.moca 2.14 0.902 2.38 0.0174 location 0.0784
## 3 subtracao grupo.moca 1.11 0.451 2.45 0.0142 location 0.0784
## 4 span grupo.moca 0.598 0.467 1.28 0.201 location 0.394
## 5 repeticao grupo.moca -0.326 0.419 -0.778 0.437 location 0.611
## 6 abstracao grupo.moca -0.248 0.447 -0.554 0.580 location 0.748
## 7 evocacao grupo.moca -0.150 0.394 -0.380 0.704 location 0.825
# Sem uso do FDR (p.value.adj)
tabela$signf <- ifelse(tabela$p.value < .05,
round(tabela$p.value,
digits=4), "ns")
so_signf <- tabela %>% filter(signf != "ns")
print(so_signf) # Nenhuma diferença significativa com FDR
## # A tibble: 2 × 9
## source term estimate std.error statistic p.value coef.type p.value.adj signf
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <chr> <dbl> <chr>
## 1 nomeac… grup… 2.14 0.902 2.38 0.0174 location 0.0784 0.01…
## 2 subtra… grup… 1.11 0.451 2.45 0.0142 location 0.0784 0.01…
# Variáveis Binárias do MoCA
data_bin <-
moca_itens %>%
mutate(grupo.moca = factor(grupo.moca)) %>%
mutate(across(relogio:cubo, factor)) %>%
# Binárias
dplyr::select(trilhas:cubo) %>%
map(~ glm(.x ~ grupo.moca + idade + escolaridade + sexo, data = moca_itens,
family = binomial())) %>%
map_dfr(~ broom::tidy(.), .id = 'source') %>%
mutate(p.value = round(p.value, 4)) %>%
rstatix::adjust_pvalue(method = "fdr")
data_bin
## # A tibble: 20 × 7
## source term estimate std.error statistic p.value p.value.adj
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 trilhas (Intercept) 2.79 2.48 1.13 0.260 0.451
## 2 trilhas grupo.moca -0.423 0.717 -0.590 0.556 0.694
## 3 trilhas idade -0.0538 0.0336 -1.60 0.109 0.363
## 4 trilhas escolaridade 0.154 0.115 1.33 0.183 0.451
## 5 trilhas sexo -0.142 0.738 -0.192 0.848 0.849
## 6 vigilancia (Intercept) 12.0 6.16 1.95 0.0506 0.202
## 7 vigilancia grupo.moca 2.10 1.93 1.09 0.277 0.451
## 8 vigilancia idade -0.222 0.109 -2.04 0.0416 0.202
## 9 vigilancia escolaridade -0.0694 0.225 -0.309 0.758 0.842
## 10 vigilancia sexo -0.452 1.30 -0.346 0.729 0.842
## 11 fluencia (Intercept) -2.44 2.12 -1.15 0.25 0.451
## 12 fluencia grupo.moca -0.704 0.519 -1.36 0.175 0.451
## 13 fluencia idade 0.0304 0.0263 1.16 0.246 0.451
## 14 fluencia escolaridade 0.250 0.0965 2.59 0.0097 0.107
## 15 fluencia sexo -0.356 0.566 -0.629 0.529 0.694
## 16 cubo (Intercept) -0.373 1.96 -0.191 0.849 0.849
## 17 cubo grupo.moca 0.350 0.547 0.640 0.522 0.694
## 18 cubo idade -0.0529 0.0260 -2.04 0.0417 0.202
## 19 cubo escolaridade 0.240 0.0940 2.55 0.0107 0.107
## 20 cubo sexo -0.605 0.576 -1.05 0.293 0.451
tabela <- data_bin %>%
filter(term == "grupo.moca")
tabela
## # A tibble: 4 × 7
## source term estimate std.error statistic p.value p.value.adj
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 trilhas grupo.moca -0.423 0.717 -0.590 0.556 0.694
## 2 vigilancia grupo.moca 2.10 1.93 1.09 0.277 0.451
## 3 fluencia grupo.moca -0.704 0.519 -1.36 0.175 0.451
## 4 cubo grupo.moca 0.350 0.547 0.640 0.522 0.694
MoCA (Global test)
set.seed(123)
# Global test, default function parameters
m1 <- np.reg.test(x=moca_itens$grupo.moca,
y=moca_itens %>% dplyr::select(relogio:cubo),
z=moca_itens %>% dplyr::select(idade:sexo))
print(m1)
##
## Multivariate Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 8.6822, p-value = 0.0319
plot(m1)

m1$coefficients
## relogio nomeacao subtracao span repeticao
## (Intercept) 1.975848031 1.64078466 2.64518009 0.726114703 0.57281576
## x1 0.221461006 0.31781083 0.54995139 0.169635298 -0.12939908
## idade -0.007719417 0.00239825 -0.03222398 -0.009345207 -0.01110610
## escolaridade 0.053564705 0.04343969 0.13728079 0.056616377 0.05253497
## sexo -0.354440688 -0.13389548 -0.22632414 0.136289108 0.12212154
## abstracao evocacao trilhas vigilancia fluencia
## (Intercept) 0.8041102486 3.32234138 0.940575798 1.123456928 0.191905091
## x1 -0.1007067892 -0.35357462 -0.027768285 0.043348504 -0.138325032
## idade -0.0002679718 -0.04600079 -0.005137515 -0.006132861 0.005659099
## escolaridade 0.0546104419 0.12235056 0.012589777 0.002242252 0.037650428
## sexo 0.1243314380 0.52791600 -0.004858283 -0.041037395 -0.055143407
## cubo
## (Intercept) 0.512890665
## x1 0.084511040
## idade -0.009656063
## escolaridade 0.036391634
## sexo -0.095725208
round(m1$coefficients[2,], 3)
## relogio nomeacao subtracao span repeticao abstracao evocacao
## 0.221 0.318 0.550 0.170 -0.129 -0.101 -0.354
## trilhas vigilancia fluencia cubo
## -0.028 0.043 -0.138 0.085
# Adjusted p.values
p <- m1$p.value
adj <- m1$adj.p.values
cbind(p, adj) # Diferença na Nomeação
## p adj
## [1,] 0.0319 0.5160
## [2,] 0.0319 0.0319
## [3,] 0.0319 0.0843
## [4,] 0.0319 0.8508
## [5,] 0.0319 0.9900
## [6,] 0.0319 0.9983
## [7,] 0.0319 0.9750
## [8,] 0.0319 1.0000
## [9,] 0.0319 0.9232
## [10,] 0.0319 0.7949
## [11,] 0.0319 0.9829
# Incluindo CUBO ERROS e ERROS VERTICES
set.seed(123)
# Global test, default function parameters
m1 <- np.reg.test(x=moca_itens$grupo.moca,
y=moca_itens %>% dplyr::select(relogio:erros_vertices_inv),
z=moca_itens %>% dplyr::select(idade:sexo))
print(m1)
##
## Multivariate Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 9.527, p-value = 0.0214
plot(m1)

m1$coefficients
## relogio nomeacao subtracao span repeticao
## (Intercept) 1.975848031 1.64078466 2.64518009 0.726114703 0.57281576
## x1 0.221461006 0.31781083 0.54995139 0.169635298 -0.12939908
## idade -0.007719417 0.00239825 -0.03222398 -0.009345207 -0.01110610
## escolaridade 0.053564705 0.04343969 0.13728079 0.056616377 0.05253497
## sexo -0.354440688 -0.13389548 -0.22632414 0.136289108 0.12212154
## abstracao evocacao trilhas vigilancia fluencia
## (Intercept) 0.8041102486 3.32234138 0.940575798 1.123456928 0.191905091
## x1 -0.1007067892 -0.35357462 -0.027768285 0.043348504 -0.138325032
## idade -0.0002679718 -0.04600079 -0.005137515 -0.006132861 0.005659099
## escolaridade 0.0546104419 0.12235056 0.012589777 0.002242252 0.037650428
## sexo 0.1243314380 0.52791600 -0.004858283 -0.041037395 -0.055143407
## cubo cubo_erros_inv erros_vertices_inv
## (Intercept) 0.512890665 3.29004666 5.96754508
## x1 0.084511040 0.43510613 0.76449358
## idade -0.009656063 -0.02269611 -0.03671459
## escolaridade 0.036391634 0.10308478 0.12488025
## sexo -0.095725208 -0.06798221 -0.14593272
round(m1$coefficients[2,], 3)
## relogio nomeacao subtracao span
## 0.221 0.318 0.550 0.170
## repeticao abstracao evocacao trilhas
## -0.129 -0.101 -0.354 -0.028
## vigilancia fluencia cubo cubo_erros_inv
## 0.043 -0.138 0.085 0.435
## erros_vertices_inv
## 0.764
# Adjusted p.values
p <- m1$p.value
adj <- m1$adj.p.values
cbind(p, adj) # Diferença na Nomeação e Erros Vértices
## p adj
## [1,] 0.0214 0.5440
## [2,] 0.0214 0.0351
## [3,] 0.0214 0.0926
## [4,] 0.0214 0.8739
## [5,] 0.0214 0.9940
## [6,] 0.0214 0.9993
## [7,] 0.0214 0.9821
## [8,] 0.0214 1.0000
## [9,] 0.0214 0.9396
## [10,] 0.0214 0.8213
## [11,] 0.0214 0.9887
## [12,] 0.0214 0.1826
## [13,] 0.0214 0.0214
MoCA (Univariate regressions)
library(nptest)
# Univariate test for each variable
set.seed(123)
model <- map(moca_itens %>%
dplyr::select(relogio:erros_vertices_inv), function(y) np.reg.test(
x=moca_itens$grupo.moca,
y=y, z=moca_itens %>%
dplyr::select(idade:sexo)))
print(model)
## $relogio
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 3.4513, p-value = 0.0645
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 1.9758 0.2215 -0.0077 0.0536 -0.3544
##
##
## $nomeacao
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 8.6822, p-value = 0.0041
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 1.6408 0.3178 0.0024 0.0434 -0.1339
##
##
## $subtracao
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 6.7895, p-value = 0.0091
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 2.6452 0.5500 -0.0322 0.1373 -0.2263
##
##
## $span
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 1.9531, p-value = 0.1669
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 0.7261 0.1696 -0.0093 0.0566 0.1363
##
##
## $repeticao
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.8504, p-value = 0.3632
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 0.5728 -0.1294 -0.0111 0.0525 0.1221
##
##
## $abstracao
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.5561, p-value = 0.4599
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 0.8041 -0.1007 -0.0003 0.0546 0.1243
##
##
## $evocacao
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 1.1165, p-value = 0.3056
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 3.3223 -0.3536 -0.0460 0.1224 0.5279
##
##
## $trilhas
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.1722, p-value = 0.6939
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 0.9406 -0.0278 -0.0051 0.0126 -0.0049
##
##
## $vigilancia
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 1.5572, p-value = 0.2199
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 1.1235 0.0433 -0.0061 0.0022 -0.0410
##
##
## $fluencia
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 2.2202, p-value = 0.142
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 0.1919 -0.1383 0.0057 0.0377 -0.0551
##
##
## $cubo
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.9893, p-value = 0.3269
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 0.5129 0.0845 -0.0097 0.0364 -0.0957
##
##
## $cubo_erros_inv
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 5.6155, p-value = 0.0192
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 3.2900 0.4351 -0.0227 0.1031 -0.0680
##
##
## $erros_vertices_inv
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 9.527, p-value = 0.0017
## sample estimates:
## (Intercept) x1 idade escolaridade sexo
## 5.9675 0.7645 -0.0367 0.1249 -0.1459
lapply(model, function(m) m$p.value)
## $relogio
## [1] 0.0645
##
## $nomeacao
## [1] 0.0041
##
## $subtracao
## [1] 0.0091
##
## $span
## [1] 0.1669
##
## $repeticao
## [1] 0.3632
##
## $abstracao
## [1] 0.4599
##
## $evocacao
## [1] 0.3056
##
## $trilhas
## [1] 0.6939
##
## $vigilancia
## [1] 0.2199
##
## $fluencia
## [1] 0.142
##
## $cubo
## [1] 0.3269
##
## $cubo_erros_inv
## [1] 0.0192
##
## $erros_vertices_inv
## [1] 0.0017
# Significativo: Nomeação, Subtração, Cubos Erros e Vértices Erros
round(data.frame(lapply(model, function(m) m$p.value)), 4)
## relogio nomeacao subtracao span repeticao abstracao evocacao trilhas
## 1 0.0645 0.0041 0.0091 0.1669 0.3632 0.4599 0.3056 0.6939
## vigilancia fluencia cubo cubo_erros_inv erros_vertices_inv
## 1 0.2199 0.142 0.3269 0.0192 0.0017
MoCA (Bootstrap com IC95%)
library(nptest)
library(dplyr)
library(purrr)
set.seed(123)
# Cria a função (Bootstrap e IC95%) da permutação
np_table <- function(x, y, z, full_data) {
covar <- x
map(full_data[, y], function(target) np.reg.test(x=full_data[, x],
y=target,
z=full_data[, z])) -> m2
out <- list()
statfunc <- function(x, data) {
coef(lm(as.formula(paste0(target, '~', covar, '+', paste0(z, collapse='+'), collapse='')),
data=data[x, ]))[2]
}
for (target in y) {
out[[target]] <- np.boot(x=1:nrow(full_data),
statistic=statfunc, data=full_data,
method='bca')
}
data.frame(Desfecho=y,
Coef=sapply(m2, function(m) m$coefficients[2]),
Valor.p=sapply(m2, function(m) m$p.value),
Valor.p.adj.=p.adjust(sapply(m2, function(m) m$p.value), 'fdr'),
CI95.Inf=sapply(out, function(x) x$bca[2, 1]),
CI95.Sup=sapply(out, function(x) x$bca[2, 2]))
}
model <- np_table(x = "grupo.moca",
y = c("relogio",
"nomeacao",
"subtracao",
"span",
"repeticao",
"abstracao",
"evocacao",
"trilhas",
"vigilancia",
"fluencia",
"cubo",
"cubo_erros_inv",
"erros_vertices_inv"),
z = c("idade", "escolaridade", "sexo"),
full_data = moca_itens)
# Significativo em Nomeação, Subtração, Erros Vértices
print(model, digits = 4)
## Desfecho Coef Valor.p Valor.p.adj. CI95.Inf
## relogio.x1 relogio 0.22146 0.0645 0.16770 -0.01524
## nomeacao.x1 nomeacao 0.31781 0.0041 0.02665 0.12434
## subtracao.x1 subtracao 0.54995 0.0091 0.03943 0.11715
## span.x1 span 0.16964 0.1669 0.30996 -0.06417
## repeticao.x1 repeticao -0.12940 0.3632 0.42924 -0.41844
## abstracao.x1 abstracao -0.10071 0.4599 0.49822 -0.37886
## evocacao.x1 evocacao -0.35357 0.3056 0.42497 -1.09084
## trilhas.x1 trilhas -0.02777 0.6939 0.69390 -0.17303
## vigilancia.x1 vigilancia 0.04335 0.2199 0.35734 -0.02977
## fluencia.x1 fluencia -0.13833 0.1420 0.30767 -0.32431
## cubo.x1 cubo 0.08451 0.3269 0.42497 -0.10477
## cubo_erros_inv.x1 cubo_erros_inv 0.43511 0.0192 0.06240 0.05240
## erros_vertices_inv.x1 erros_vertices_inv 0.76449 0.0017 0.02210 0.32462
## CI95.Sup
## relogio.x1 0.45705
## nomeacao.x1 0.57832
## subtracao.x1 0.94293
## span.x1 0.41065
## repeticao.x1 0.14792
## abstracao.x1 0.17078
## evocacao.x1 0.27474
## trilhas.x1 0.09267
## vigilancia.x1 0.13294
## fluencia.x1 0.03688
## cubo.x1 0.24618
## cubo_erros_inv.x1 0.83156
## erros_vertices_inv.x1 1.41957
MoCA correlações
library(correlation)
# Correlações
MoCA_corr <- correlation(moca_itens[1:11],
method = "auto",
p_adjust = "fdr",
partial = FALSE)
MoCA_corr
## # Correlation Matrix (auto-method)
##
## Parameter1 | Parameter2 | r | 95% CI | t(91) | p
## -----------------------------------------------------------------------
## relogio | nomeacao | 0.22 | [ 0.02, 0.41] | 2.15 | 0.098
## relogio | subtracao | 0.38 | [ 0.20, 0.54] | 3.96 | 0.001**
## relogio | span | 0.17 | [-0.03, 0.36] | 1.68 | 0.185
## relogio | repeticao | 0.12 | [-0.09, 0.31] | 1.12 | 0.418
## relogio | abstracao | 0.05 | [-0.16, 0.25] | 0.45 | 0.753
## relogio | evocacao | -0.01 | [-0.22, 0.19] | -0.14 | 0.926
## relogio | trilhas | 0.04 | [-0.16, 0.25] | 0.43 | 0.753
## relogio | vigilancia | 0.03 | [-0.18, 0.23] | 0.26 | 0.842
## relogio | fluencia | 0.17 | [-0.03, 0.36] | 1.67 | 0.185
## relogio | cubo | 0.49 | [ 0.32, 0.63] | 5.37 | < .001***
## nomeacao | subtracao | 0.42 | [ 0.23, 0.57] | 4.35 | < .001***
## nomeacao | span | 0.51 | [ 0.35, 0.65] | 5.72 | < .001***
## nomeacao | repeticao | 0.08 | [-0.13, 0.28] | 0.75 | 0.567
## nomeacao | abstracao | 0.20 | [-0.01, 0.38] | 1.91 | 0.137
## nomeacao | evocacao | 0.05 | [-0.16, 0.25] | 0.46 | 0.753
## nomeacao | trilhas | 0.08 | [-0.12, 0.28] | 0.78 | 0.559
## nomeacao | vigilancia | 0.08 | [-0.12, 0.28] | 0.79 | 0.559
## nomeacao | fluencia | 0.24 | [ 0.04, 0.42] | 2.38 | 0.063
## nomeacao | cubo | 0.20 | [ 0.00, 0.39] | 1.98 | 0.123
## subtracao | span | 0.46 | [ 0.28, 0.61] | 4.96 | < .001***
## subtracao | repeticao | 0.21 | [ 0.01, 0.40] | 2.09 | 0.108
## subtracao | abstracao | 0.17 | [-0.04, 0.36] | 1.62 | 0.197
## subtracao | evocacao | 0.21 | [ 0.01, 0.40] | 2.05 | 0.114
## subtracao | trilhas | 0.13 | [-0.08, 0.32] | 1.22 | 0.365
## subtracao | vigilancia | 0.30 | [ 0.10, 0.47] | 3.00 | 0.016*
## subtracao | fluencia | 0.19 | [-0.01, 0.38] | 1.85 | 0.139
## subtracao | cubo | 0.26 | [ 0.05, 0.44] | 2.52 | 0.048*
## span | repeticao | 0.28 | [ 0.08, 0.45] | 2.74 | 0.029*
## span | abstracao | 0.19 | [-0.01, 0.38] | 1.87 | 0.139
## span | evocacao | 0.15 | [-0.05, 0.34] | 1.46 | 0.264
## span | trilhas | 0.08 | [-0.12, 0.28] | 0.78 | 0.559
## span | vigilancia | 0.35 | [ 0.16, 0.52] | 3.59 | 0.004**
## span | fluencia | 0.10 | [-0.10, 0.30] | 0.99 | 0.487
## span | cubo | 0.34 | [ 0.15, 0.51] | 3.45 | 0.005**
## repeticao | abstracao | 0.29 | [ 0.09, 0.47] | 2.89 | 0.020*
## repeticao | evocacao | 0.37 | [ 0.18, 0.53] | 3.80 | 0.002**
## repeticao | trilhas | 0.07 | [-0.14, 0.27] | 0.66 | 0.607
## repeticao | vigilancia | 0.03 | [-0.18, 0.23] | 0.26 | 0.842
## repeticao | fluencia | 0.08 | [-0.12, 0.28] | 0.79 | 0.559
## repeticao | cubo | 0.19 | [-0.01, 0.38] | 1.85 | 0.139
## abstracao | evocacao | 0.23 | [ 0.03, 0.42] | 2.26 | 0.079
## abstracao | trilhas | 0.08 | [-0.12, 0.28] | 0.80 | 0.559
## abstracao | vigilancia | 0.10 | [-0.11, 0.30] | 0.95 | 0.501
## abstracao | fluencia | 0.33 | [ 0.14, 0.50] | 3.37 | 0.006**
## abstracao | cubo | 0.07 | [-0.14, 0.27] | 0.67 | 0.607
## evocacao | trilhas | 0.20 | [ 0.00, 0.39] | 1.97 | 0.123
## evocacao | vigilancia | 0.13 | [-0.08, 0.33] | 1.25 | 0.356
## evocacao | fluencia | 0.13 | [-0.07, 0.33] | 1.28 | 0.348
## evocacao | cubo | 0.10 | [-0.10, 0.30] | 0.98 | 0.487
## trilhas | vigilancia | -1.68e-03 | [-0.21, 0.20] | -0.02 | 0.987
## trilhas | fluencia | 0.25 | [ 0.05, 0.44] | 2.50 | 0.048*
## trilhas | cubo | 0.40 | [ 0.21, 0.56] | 4.13 | < .001***
## vigilancia | fluencia | 4.01e-03 | [-0.20, 0.21] | 0.04 | 0.987
## vigilancia | cubo | 0.32 | [ 0.13, 0.49] | 3.24 | 0.008**
## fluencia | cubo | 0.03 | [-0.17, 0.24] | 0.32 | 0.826
##
## p-value adjustment method: Benjamini & Hochberg (1995)
## Observations: 93
# Correlações parciais
MoCA_partial <- correlation(moca_itens[1:11],
method = "auto",
p_adjust = "fdr",
partial = TRUE)
MoCA_partial
## # Correlation Matrix (auto-method)
##
## Parameter1 | Parameter2 | r | 95% CI | t(91) | p
## -----------------------------------------------------------------------
## relogio | nomeacao | 0.04 | [-0.16, 0.24] | 0.39 | 0.868
## relogio | subtracao | 0.33 | [ 0.13, 0.50] | 3.30 | 0.025*
## relogio | span | -0.12 | [-0.31, 0.09] | -1.13 | 0.602
## relogio | repeticao | 0.04 | [-0.17, 0.24] | 0.38 | 0.868
## relogio | abstracao | -0.05 | [-0.25, 0.16] | -0.46 | 0.868
## relogio | evocacao | -0.12 | [-0.32, 0.08] | -1.18 | 0.583
## relogio | trilhas | -0.10 | [-0.30, 0.10] | -0.98 | 0.709
## relogio | vigilancia | -0.09 | [-0.29, 0.12] | -0.85 | 0.709
## relogio | fluencia | 0.16 | [-0.05, 0.35] | 1.54 | 0.434
## relogio | cubo | 0.48 | [ 0.30, 0.62] | 5.18 | < .001***
## nomeacao | subtracao | 0.22 | [ 0.02, 0.40] | 2.14 | 0.198
## nomeacao | span | 0.43 | [ 0.24, 0.58] | 4.48 | < .001***
## nomeacao | repeticao | -0.13 | [-0.32, 0.08] | -1.24 | 0.582
## nomeacao | abstracao | 0.09 | [-0.11, 0.29] | 0.87 | 0.709
## nomeacao | evocacao | -0.05 | [-0.25, 0.16] | -0.44 | 0.868
## nomeacao | trilhas | -6.71e-03 | [-0.21, 0.20] | -0.06 | 0.986
## nomeacao | vigilancia | -0.17 | [-0.36, 0.04] | -1.62 | 0.401
## nomeacao | fluencia | 0.15 | [-0.05, 0.34] | 1.45 | 0.441
## nomeacao | cubo | 7.02e-03 | [-0.20, 0.21] | 0.07 | 0.986
## subtracao | span | 0.20 | [-0.01, 0.39] | 1.93 | 0.241
## subtracao | repeticao | 0.07 | [-0.13, 0.27] | 0.68 | 0.787
## subtracao | abstracao | -6.59e-03 | [-0.21, 0.20] | -0.06 | 0.986
## subtracao | evocacao | 0.13 | [-0.08, 0.32] | 1.23 | 0.582
## subtracao | trilhas | 0.10 | [-0.11, 0.29] | 0.91 | 0.709
## subtracao | vigilancia | 0.23 | [ 0.03, 0.41] | 2.23 | 0.198
## subtracao | fluencia | 0.04 | [-0.16, 0.24] | 0.39 | 0.868
## subtracao | cubo | -0.08 | [-0.28, 0.12] | -0.80 | 0.732
## span | repeticao | 0.21 | [ 0.01, 0.40] | 2.09 | 0.198
## span | abstracao | 0.02 | [-0.19, 0.22] | 0.17 | 0.970
## span | evocacao | -0.03 | [-0.24, 0.17] | -0.32 | 0.879
## span | trilhas | 3.11e-03 | [-0.20, 0.21] | 0.03 | 0.986
## span | vigilancia | 0.29 | [ 0.09, 0.47] | 2.89 | 0.047*
## span | fluencia | -0.04 | [-0.24, 0.17] | -0.33 | 0.879
## span | cubo | 0.22 | [ 0.02, 0.41] | 2.19 | 0.198
## repeticao | abstracao | 0.22 | [ 0.01, 0.40] | 2.12 | 0.198
## repeticao | evocacao | 0.31 | [ 0.11, 0.48] | 3.09 | 0.036*
## repeticao | trilhas | -0.06 | [-0.26, 0.15] | -0.54 | 0.854
## repeticao | vigilancia | -0.15 | [-0.35, 0.05] | -1.47 | 0.441
## repeticao | fluencia | -0.04 | [-0.24, 0.17] | -0.37 | 0.868
## repeticao | cubo | 0.07 | [-0.14, 0.27] | 0.67 | 0.787
## abstracao | evocacao | 0.09 | [-0.12, 0.29] | 0.87 | 0.709
## abstracao | trilhas | 0.01 | [-0.19, 0.22] | 0.12 | 0.986
## abstracao | vigilancia | 0.07 | [-0.14, 0.27] | 0.65 | 0.787
## abstracao | fluencia | 0.29 | [ 0.09, 0.46] | 2.87 | 0.047*
## abstracao | cubo | 1.84e-03 | [-0.20, 0.21] | 0.02 | 0.986
## evocacao | trilhas | 0.17 | [-0.04, 0.36] | 1.62 | 0.401
## evocacao | vigilancia | 0.10 | [-0.11, 0.30] | 0.93 | 0.709
## evocacao | fluencia | 0.07 | [-0.13, 0.27] | 0.68 | 0.787
## evocacao | cubo | 0.04 | [-0.16, 0.24] | 0.39 | 0.868
## trilhas | vigilancia | -0.15 | [-0.34, 0.06] | -1.44 | 0.441
## trilhas | fluencia | 0.09 | [-0.11, 0.29] | 0.88 | 0.709
## trilhas | cubo | 0.21 | [ 0.00, 0.40] | 2.03 | 0.207
## vigilancia | fluencia | -0.03 | [-0.23, 0.18] | -0.28 | 0.891
## vigilancia | cubo | 0.06 | [-0.14, 0.26] | 0.59 | 0.824
## fluencia | cubo | -0.12 | [-0.32, 0.08] | -1.17 | 0.583
##
## p-value adjustment method: Benjamini & Hochberg (1995)
## Observations: 93
MoCA em domínios Cognitivos
# ESCORES COMPOSTOS
# 1) Visuoconstrutivo
dat$visuoconstrutivo <- dat$trilhas + dat$cubo + dat$relogio
table(dat$visuoconstrutivo)
##
## 2 3 4 5
## 9 12 21 51
# 2) Funções Executivas
dat$executivo <- dat$span + dat$vigilancia + dat$nomeacao + dat$subtracao
table(dat$executivo)
##
## 2 3 4 5 6 7 8 9 10 11
## 1 2 1 2 5 3 4 16 26 33
# 3) Memória
dat$memoria <- dat$evocacao + dat$repeticao + dat$abstracao + dat$fluencia
table(dat$memoria)
##
## 1 2 3 4 5 6 7 8 9 10
## 2 5 7 8 10 12 12 17 12 8
dat %>%
dplyr::select(visuoconstrutivo, executivo, memoria) %>%
DataExplorer::plot_histogram()

library(multicon)
# Visuoconstrutivo
dat$visuoconstrutivo_z <- composite(dat$visuoconstrutivo, Zitems = TRUE)
# Executivo
dat$executivo_z <- composite(dat$executivo, Zitems = TRUE)
# Memória
dat$memoria_z <- composite(dat$memoria, Zitems = TRUE)
dat %>%
dplyr::select(visuoconstrutivo_z, executivo_z, memoria_z) %>%
DataExplorer::plot_histogram()

# Correlações dos escores compostos
MoCA_comp <- dat %>%
dplyr::select(visuoconstrutivo_z, executivo_z, memoria_z) %>%
correlation(.,
method = "auto",
p_adjust = "fdr",
partial = FALSE)
MoCA_comp
## # Correlation Matrix (auto-method)
##
## Parameter1 | Parameter2 | r | 95% CI | t(91) | p
## ---------------------------------------------------------------------------
## visuoconstrutivo_z | executivo_z | 0.39 | [ 0.20, 0.55] | 4.03 | < .001***
## visuoconstrutivo_z | memoria_z | 0.17 | [-0.04, 0.36] | 1.62 | 0.109
## executivo_z | memoria_z | 0.30 | [ 0.10, 0.47] | 3.00 | 0.005**
##
## p-value adjustment method: Benjamini & Hochberg (1995)
## Observations: 93
# Compara os grupos usando os escores compostos
model <- np_table(x = "grupo.moca",
y = c("visuoconstrutivo",
"memoria",
"executivo"),
z = c("idade.x", "escolaridade", "sexo"),
full_data = dat)
# Significativo em Funções Executivas
print(model, digits = 4)
## Desfecho Coef Valor.p Valor.p.adj. CI95.Inf
## visuoconstrutivo.x1 visuoconstrutivo 0.2782 0.1553 0.1553 -0.1352
## memoria.x1 memoria -0.7220 0.1357 0.1553 -1.6730
## executivo.x1 executivo 1.0807 0.0020 0.0060 0.4203
## CI95.Sup
## visuoconstrutivo.x1 0.6472
## memoria.x1 0.1783
## executivo.x1 1.7958
CANTAB
CANTAB (Comparação entre os grupos)
# Select variables
cantab <- dat %>%
dplyr::select(SWMBE,
SWMS,
OTSPSFC,
OTSMDLFC,
OTSMCC,
OTSMLC,
PALTEA,
PALFAMS,
PALMETS,
PRMPCI,
PRMPCD,
VRMIRTC,
VRMDRTC,
VRMFRDS,
RTISMDRT,
RTISMDMT,
RTIFMDRT,
RTIFMDMT,
grupo.moca, idade.x, escolaridade, sexo)
# Insere variáveis demográficas
cantab$sexo <- cantab$sexo - 1
# Comparações tradicionais
categ <- cantab %>%
compareGroups(grupo.moca ~ ., data = .,
riskratio = TRUE,
var.equal = TRUE,
compute.prop = TRUE,
p.corrected = TRUE,
oddsratio.method = "midp",
chisq.test.perm = TRUE,
method = 4)
categ
##
##
## -------- Summary of results by groups of 'grupo.moca'---------
##
##
## var N p.value method selection
## 1 SWMBE 93 0.318 continuous non-normal ALL
## 2 SWMS 93 0.680 continuous non-normal ALL
## 3 OTSPSFC 93 0.994 continuous non-normal ALL
## 4 OTSMDLFC 93 0.906 continuous non-normal ALL
## 5 OTSMCC 93 0.894 continuous non-normal ALL
## 6 OTSMLC 93 0.456 continuous non-normal ALL
## 7 PALTEA 93 0.256 continuous non-normal ALL
## 8 PALFAMS 93 0.262 continuous non-normal ALL
## 9 PALMETS 93 0.085* continuous non-normal ALL
## 10 PRMPCI 93 0.444 continuous non-normal ALL
## 11 PRMPCD 93 0.753 continuous non-normal ALL
## 12 VRMIRTC 93 0.554 continuous non-normal ALL
## 13 VRMDRTC 93 0.239 continuous non-normal ALL
## 14 VRMFRDS 93 0.282 continuous non-normal ALL
## 15 RTISMDRT 93 0.336 continuous non-normal ALL
## 16 RTISMDMT 93 0.802 continuous non-normal ALL
## 17 RTIFMDRT 93 0.377 continuous non-normal ALL
## 18 RTIFMDMT 93 0.386 continuous non-normal ALL
## 19 idade.x 93 0.236 continuous non-normal ALL
## 20 escolaridade 93 0.837 continuous non-normal ALL
## 21 sexo 93 0.640 continuous non-normal ALL
## -----
## Signif. codes: 0 '**' 0.05 '*' 0.1 ' ' 1
restab <- createTable(categ, show.all = TRUE)
update(restab, show.n=TRUE)
##
## --------Summary descriptives table by 'grupo.moca'---------
##
## _____________________________________________________________________________________
## [ALL] 1 2 p.overall N
## N=93 N=56 N=37
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
## SWMBE 13.0 [5.00;21.0] 15.0 [5.00;22.2] 12.0 [4.00;17.0] 0.318 93
## SWMS 8.00 [7.00;10.0] 8.50 [7.00;10.0] 8.00 [7.00;9.00] 0.680 93
## OTSPSFC 10.0 [9.00;12.0] 10.0 [8.75;12.0] 11.0 [9.00;12.0] 0.994 93
## OTSMDLFC 12550 [8999;15813] 12770 [8819;15913] 12247 [9347;15530] 0.906 93
## OTSMCC 1.47 [1.27;1.87] 1.50 [1.20;1.80] 1.47 [1.27;1.87] 0.894 93
## OTSMLC 25403 [19228;33311] 27908 [18372;35436] 23745 [20138;29896] 0.456 93
## PALTEA 11.0 [6.00;20.0] 8.50 [5.00;17.2] 12.0 [7.00;21.0] 0.256 93
## PALFAMS 13.0 [10.0;16.0] 14.0 [11.0;16.0] 13.0 [10.0;14.0] 0.262 93
## PALMETS 2.00 [1.00;3.00] 2.00 [0.75;2.00] 2.00 [1.00;3.00] 0.085 93
## PRMPCI 100 [91.7;100] 95.8 [83.3;100] 100 [91.7;100] 0.444 93
## PRMPCD 91.7 [83.3;91.7] 91.7 [75.0;91.7] 91.7 [83.3;100] 0.753 93
## VRMIRTC 30.0 [28.0;32.0] 31.0 [28.0;33.0] 30.0 [28.0;32.0] 0.554 93
## VRMDRTC 31.0 [30.0;34.0] 32.0 [30.0;34.0] 31.0 [30.0;32.0] 0.239 93
## VRMFRDS 6.00 [4.00;8.00] 6.50 [5.00;8.00] 6.00 [4.00;8.00] 0.282 93
## RTISMDRT 328 [309;357] 328 [311;360] 328 [307;344] 0.336 93
## RTISMDMT 219 [176;256] 214 [169;257] 219 [189;253] 0.802 93
## RTIFMDRT 382 [358;422] 383 [360;429] 380 [354;418] 0.377 93
## RTIFMDMT 254 [203;298] 261 [203;305] 238 [205;290] 0.386 93
## idade.x 37.0 [30.0;45.0] 35.5 [30.0;43.2] 40.0 [30.0;51.0] 0.236 93
## escolaridade 15.0 [13.0;17.0] 15.0 [13.0;17.0] 15.0 [13.0;18.0] 0.837 93
## sexo 1.00 [0.00;1.00] 1.00 [0.00;1.00] 1.00 [0.00;1.00] 0.640 93
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
CANTAB (Global test)
library(caret)
set.seed(123)
# Scale and Center
preProcValues <- preProcess(cantab, method = c("center", "scale", "BoxCox"))
preProc = predict(preProcValues, cantab)
vars = preProc
# Histogramas (variáveis sem transformações)
cantab[1:18] %>%
DataExplorer::plot_histogram()


# Histogramas (variáveis processadas)
vars[1:18] %>%
DataExplorer::plot_histogram()


# Variáveis não transformadas
set.seed(123)
# Global test, default function parameters
m1 <- np.reg.test(x=cantab$grupo.moca,
y=cantab %>% dplyr::select(SWMBE:RTIFMDMT),
z=cantab %>% dplyr::select(idade.x:sexo))
print(m1)
##
## Multivariate Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 2.9083, p-value = 0.7334
plot(m1)

p <- m1$p.value
adj <- m1$adj.p.values
cbind(p, adj)
## p adj
## [1,] 0.7334 0.7479
## [2,] 0.7334 1.0000
## [3,] 0.7334 0.9997
## [4,] 0.7334 1.0000
## [5,] 0.7334 0.9987
## [6,] 0.7334 1.0000
## [7,] 0.7334 1.0000
## [8,] 0.7334 1.0000
## [9,] 0.7334 0.8860
## [10,] 0.7334 0.7864
## [11,] 0.7334 1.0000
## [12,] 0.7334 1.0000
## [13,] 0.7334 1.0000
## [14,] 0.7334 1.0000
## [15,] 0.7334 1.0000
## [16,] 0.7334 1.0000
## [17,] 0.7334 0.7334
## [18,] 0.7334 0.9504
m1$coefficients
## SWMBE SWMS OTSPSFC OTSMDLFC OTSMCC
## (Intercept) 4.8288824 6.18533735 9.37617566 12566.6528 1.87908218
## x1 -3.1315695 -0.18860334 0.45240378 254.3226 -0.10842491
## idade.x 0.3848062 0.08901155 -0.09841306 175.9799 0.01878967
## escolaridade -0.2531767 -0.10482464 0.26430032 -348.1464 -0.05582388
## sexo 2.8466822 0.59188589 -0.59123337 -1181.4869 0.14069245
## OTSMLC PALTEA PALFAMS PALMETS PRMPCI
## (Intercept) 18160.00100 12.6950930 12.5234307 2.78555265 78.8301263
## x1 -1564.48371 0.7238532 -0.3631375 0.43502342 4.0000862
## idade.x 331.92817 0.4562876 -0.1386227 0.01474584 -0.2392346
## escolaridade 58.65136 -1.2538814 0.4202708 -0.10847084 1.2530535
## sexo -1274.52873 4.3806742 -0.4560632 -0.67611179 -4.7107714
## PRMPCD VRMIRTC VRMDRTC VRMFRDS RTISMDRT
## (Intercept) 69.53100949 27.79112188 31.36167513 4.94487389 345.44572871
## x1 0.77317293 0.25752522 -0.29756430 -0.27237163 -4.54512296
## idade.x -0.01979828 -0.07170458 -0.05450692 -0.07094127 -0.04524984
## escolaridade 1.34794811 0.32096989 0.14823861 0.30237271 -0.42392785
## sexo -6.43278417 -0.32558756 -0.21504976 -0.06519973 12.35625181
## RTISMDMT RTIFMDRT RTIFMDMT
## (Intercept) 217.0827433 391.1995058 218.600400
## x1 -1.2280689 -19.0568200 -16.844957
## idade.x 0.6197917 0.5902763 1.969396
## escolaridade -2.6916743 0.3496956 -2.463434
## sexo 34.0798288 5.5523372 37.908596
round(m1$coefficients[2,], 3)
## SWMBE SWMS OTSPSFC OTSMDLFC OTSMCC OTSMLC PALTEA PALFAMS
## -3.132 -0.189 0.452 254.323 -0.108 -1564.484 0.724 -0.363
## PALMETS PRMPCI PRMPCD VRMIRTC VRMDRTC VRMFRDS RTISMDRT RTISMDMT
## 0.435 4.000 0.773 0.258 -0.298 -0.272 -4.545 -1.228
## RTIFMDRT RTIFMDMT
## -19.057 -16.845
# Variáveis transformadas
set.seed(123)
# Global test, default function parameters
m2 <- np.reg.test(x=vars$grupo.moca,
y=vars %>% dplyr::select(SWMBE:RTIFMDMT),
z=vars %>% dplyr::select(idade.x:sexo))
print(m2)
##
## Multivariate Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 2.6446, p-value = 0.7878
plot(m2)

p2 <- m2$p.value
adj2 <- m2$adj.p.values
cbind(p2, adj2)
## p2 adj2
## [1,] 0.7878 0.8363
## [2,] 0.7878 1.0000
## [3,] 0.7878 1.0000
## [4,] 0.7878 1.0000
## [5,] 0.7878 1.0000
## [6,] 0.7878 1.0000
## [7,] 0.7878 1.0000
## [8,] 0.7878 0.9999
## [9,] 0.7878 0.8618
## [10,] 0.7878 0.7878
## [11,] 0.7878 1.0000
## [12,] 0.7878 1.0000
## [13,] 0.7878 0.9999
## [14,] 0.7878 0.9988
## [15,] 0.7878 0.9999
## [16,] 0.7878 1.0000
## [17,] 0.7878 0.9624
## [18,] 0.7878 0.9941
cbind(p, p2, adj, adj2)
## p p2 adj adj2
## [1,] 0.7334 0.7878 0.7479 0.8363
## [2,] 0.7334 0.7878 1.0000 1.0000
## [3,] 0.7334 0.7878 0.9997 1.0000
## [4,] 0.7334 0.7878 1.0000 1.0000
## [5,] 0.7334 0.7878 0.9987 1.0000
## [6,] 0.7334 0.7878 1.0000 1.0000
## [7,] 0.7334 0.7878 1.0000 1.0000
## [8,] 0.7334 0.7878 1.0000 0.9999
## [9,] 0.7334 0.7878 0.8860 0.8618
## [10,] 0.7334 0.7878 0.7864 0.7878
## [11,] 0.7334 0.7878 1.0000 1.0000
## [12,] 0.7334 0.7878 1.0000 1.0000
## [13,] 0.7334 0.7878 1.0000 0.9999
## [14,] 0.7334 0.7878 1.0000 0.9988
## [15,] 0.7334 0.7878 1.0000 0.9999
## [16,] 0.7334 0.7878 1.0000 1.0000
## [17,] 0.7334 0.7878 0.7334 0.9624
## [18,] 0.7334 0.7878 0.9504 0.9941
m2$coefficients
## SWMBE SWMS OTSPSFC OTSMDLFC
## (Intercept) -3.757038e-16 -4.057011e-17 -4.526655e-17 3.388660e-16
## x1 -1.481470e-01 -4.066716e-02 5.019072e-02 2.035084e-02
## idade.x 4.092967e-01 3.643699e-01 -3.471297e-01 2.486270e-01
## escolaridade -7.086215e-02 -1.440504e-01 2.695129e-01 -7.729327e-02
## sexo 1.553456e-01 9.939932e-02 -9.645971e-02 -5.239441e-02
## OTSMCC OTSMLC PALTEA PALFAMS
## (Intercept) 1.697395e-16 -1.496973e-15 1.634670e-16 -2.723229e-16
## x1 -5.020338e-02 -3.234868e-02 3.434618e-02 -5.994477e-02
## idade.x 3.681568e-01 1.772112e-01 3.254211e-01 -3.267978e-01
## escolaridade -2.779355e-01 9.070663e-02 -3.120209e-01 3.421881e-01
## sexo 1.207906e-01 -2.329500e-02 1.629734e-01 -6.190620e-02
## PALMETS PRMPCI PRMPCD VRMIRTC
## (Intercept) 9.371226e-17 8.399548e-17 -5.797138e-16 -1.112999e-16
## x1 1.489574e-01 1.511367e-01 3.274982e-02 1.567453e-02
## idade.x 8.398486e-02 -1.875921e-01 1.405167e-02 -2.154150e-01
## escolaridade -2.557183e-01 3.558006e-01 3.769255e-01 3.217050e-01
## sexo -2.236794e-01 -1.823007e-01 -2.435582e-01 -5.923825e-02
## VRMDRTC VRMFRDS RTISMDRT RTISMDMT
## (Intercept) -3.614344e-17 -1.869730e-16 2.052441e-11 2.507649e-16
## x1 -6.516406e-02 -8.174554e-02 -6.981690e-02 -3.505393e-04
## idade.x -1.857635e-01 -2.901849e-01 2.415212e-02 1.091254e-01
## escolaridade 1.513457e-01 3.544023e-01 -2.948047e-02 -1.543654e-01
## sexo -6.498037e-02 2.719285e-02 1.214057e-01 2.895998e-01
## RTIFMDRT RTIFMDMT
## (Intercept) -2.423974e-11 -1.431100e-16
## x1 -1.252733e-01 -9.363977e-02
## idade.x 1.463807e-01 2.849873e-01
## escolaridade 3.955988e-02 -1.102645e-01
## sexo 1.103612e-02 2.850816e-01
round(m2$coefficients[2,], 3)
## SWMBE SWMS OTSPSFC OTSMDLFC OTSMCC OTSMLC PALTEA PALFAMS
## -0.148 -0.041 0.050 0.020 -0.050 -0.032 0.034 -0.060
## PALMETS PRMPCI PRMPCD VRMIRTC VRMDRTC VRMFRDS RTISMDRT RTISMDMT
## 0.149 0.151 0.033 0.016 -0.065 -0.082 -0.070 0.000
## RTIFMDRT RTIFMDMT
## -0.125 -0.094
CANTAB (Univariate regressions)
# Univariate test for each variable
# CANTAB (sem transformação)
set.seed(123)
model <- map(cantab %>%
dplyr::select(SWMBE:RTIFMDMT), function(y) np.reg.test(
x=cantab$grupo.moca,
y=y, z=cantab %>%
dplyr::select(idade.x, escolaridade, sexo)))
print(model)
## $SWMBE
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 2.8383, p-value = 0.0876
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 4.8289 -3.1316 0.3848 -0.2532 2.8467
##
##
## $SWMS
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.1556, p-value = 0.6968
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 6.1853 -0.1886 0.0890 -0.1048 0.5919
##
##
## $OTSPSFC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.5685, p-value = 0.4633
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 9.3762 0.4524 -0.0984 0.2643 -0.5912
##
##
## $OTSMDLFC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.025, p-value = 0.8865
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 12566.6528 254.3226 175.9799 -348.1464 -1181.4869
##
##
## $OTSMCC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.7499, p-value = 0.3996
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 1.8791 -0.1084 0.0188 -0.0558 0.1407
##
##
## $OTSMLC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.1901, p-value = 0.683
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 18160.0010 -1564.4837 331.9282 58.6514 -1274.5287
##
##
## $PALTEA
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.0757, p-value = 0.793
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 12.6951 0.7239 0.4563 -1.2539 4.3807
##
##
## $PALFAMS
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.237, p-value = 0.6393
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 12.5234 -0.3631 -0.1386 0.4203 -0.4561
##
##
## $PALMETS
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 2.1483, p-value = 0.1413
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 2.7856 0.4350 0.0147 -0.1085 -0.6761
##
##
## $PRMPCI
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 2.6562, p-value = 0.1106
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 78.8301 4.0001 -0.2392 1.2531 -4.7108
##
##
## $PRMPCD
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.1072, p-value = 0.7534
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 69.5310 0.7732 -0.0198 1.3479 -6.4328
##
##
## $VRMIRTC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.1785, p-value = 0.6832
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 27.7911 0.2575 -0.0717 0.3210 -0.3256
##
##
## $VRMDRTC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.1822, p-value = 0.6835
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 31.3617 -0.2976 -0.0545 0.1482 -0.2150
##
##
## $VRMFRDS
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.3101, p-value = 0.579
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 4.9449 -0.2724 -0.0709 0.3024 -0.0652
##
##
## $RTISMDRT
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.2266, p-value = 0.6369
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 345.4457 -4.5451 -0.0452 -0.4239 12.3563
##
##
## $RTISMDMT
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.0106, p-value = 0.9184
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 217.0827 -1.2281 0.6198 -2.6917 34.0798
##
##
## $RTIFMDRT
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 2.9083, p-value = 0.0933
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 391.1995 -19.0568 0.5903 0.3497 5.5523
##
##
## $RTIFMDMT
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 1.7082, p-value = 0.1921
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 218.6004 -16.8450 1.9694 -2.4634 37.9086
lapply(model, function(m) m$p.value)
## $SWMBE
## [1] 0.0876
##
## $SWMS
## [1] 0.6968
##
## $OTSPSFC
## [1] 0.4633
##
## $OTSMDLFC
## [1] 0.8865
##
## $OTSMCC
## [1] 0.3996
##
## $OTSMLC
## [1] 0.683
##
## $PALTEA
## [1] 0.793
##
## $PALFAMS
## [1] 0.6393
##
## $PALMETS
## [1] 0.1413
##
## $PRMPCI
## [1] 0.1106
##
## $PRMPCD
## [1] 0.7534
##
## $VRMIRTC
## [1] 0.6832
##
## $VRMDRTC
## [1] 0.6835
##
## $VRMFRDS
## [1] 0.579
##
## $RTISMDRT
## [1] 0.6369
##
## $RTISMDMT
## [1] 0.9184
##
## $RTIFMDRT
## [1] 0.0933
##
## $RTIFMDMT
## [1] 0.1921
# Nenhum significativo
round(data.frame(lapply(model, function(m) m$p.value)), 4)
## SWMBE SWMS OTSPSFC OTSMDLFC OTSMCC OTSMLC PALTEA PALFAMS PALMETS PRMPCI
## 1 0.0876 0.6968 0.4633 0.8865 0.3996 0.683 0.793 0.6393 0.1413 0.1106
## PRMPCD VRMIRTC VRMDRTC VRMFRDS RTISMDRT RTISMDMT RTIFMDRT RTIFMDMT
## 1 0.7534 0.6832 0.6835 0.579 0.6369 0.9184 0.0933 0.1921
# CANTAB (processado)
# Univariate test for each variable
set.seed(123)
model2 <- map(vars %>%
dplyr::select(SWMBE:RTIFMDMT), function(y) np.reg.test(
x=vars$grupo.moca,
y=y, z=vars %>%
dplyr::select(idade.x, escolaridade, sexo)))
print(model2)
## $SWMBE
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 2.3911, p-value = 0.119
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 -0.1481 0.4093 -0.0709 0.1553
##
##
## $SWMS
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.1785, p-value = 0.6824
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 -0.0407 0.3644 -0.1441 0.0994
##
##
## $OTSPSFC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.292, p-value = 0.5938
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 0.0502 -0.3471 0.2695 -0.0965
##
##
## $OTSMDLFC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.0443, p-value = 0.8349
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 0.0204 0.2486 -0.0773 -0.0524
##
##
## $OTSMCC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.2952, p-value = 0.5899
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 -0.0502 0.3682 -0.2779 0.1208
##
##
## $OTSMLC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.1087, p-value = 0.7529
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 -0.0323 0.1772 0.0907 -0.0233
##
##
## $PALTEA
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.1357, p-value = 0.7225
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 0.0343 0.3254 -0.3120 0.1630
##
##
## $PALFAMS
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.446, p-value = 0.5175
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 -0.0599 -0.3268 0.3422 -0.0619
##
##
## $PALMETS
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 2.2522, p-value = 0.1322
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 0.1490 0.0840 -0.2557 -0.2237
##
##
## $PRMPCI
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 2.6446, p-value = 0.1109
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 0.1511 -0.1876 0.3558 -0.1823
##
##
## $PRMPCD
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.1205, p-value = 0.7389
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 0.0327 0.0141 0.3769 -0.2436
##
##
## $VRMIRTC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.0297, p-value = 0.8732
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 0.0157 -0.2154 0.3217 -0.0592
##
##
## $VRMDRTC
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.4353, p-value = 0.5207
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 -0.0652 -0.1858 0.1513 -0.0650
##
##
## $VRMFRDS
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.7303, p-value = 0.3966
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 -0.0817 -0.2902 0.3544 0.0272
##
##
## $RTISMDRT
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0.4295, p-value = 0.5149
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 -0.0698 0.0242 -0.0295 0.1214
##
##
## $RTISMDMT
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 0, p-value = 0.9974
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 -0.0004 0.1091 -0.1544 0.2896
##
##
## $RTIFMDRT
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 1.5637, p-value = 0.2163
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 -0.1253 0.1464 0.0396 0.0110
##
##
## $RTIFMDMT
##
## Nonparametric Regression Test (Heteroscedastic)
## randomization method: Huh-Jhun
## W = 1.0433, p-value = 0.3098
## sample estimates:
## (Intercept) x1 idade.x escolaridade sexo
## 0.0000 -0.0936 0.2850 -0.1103 0.2851
lapply(model2, function(m) m$p.value)
## $SWMBE
## [1] 0.119
##
## $SWMS
## [1] 0.6824
##
## $OTSPSFC
## [1] 0.5938
##
## $OTSMDLFC
## [1] 0.8349
##
## $OTSMCC
## [1] 0.5899
##
## $OTSMLC
## [1] 0.7529
##
## $PALTEA
## [1] 0.7225
##
## $PALFAMS
## [1] 0.5175
##
## $PALMETS
## [1] 0.1322
##
## $PRMPCI
## [1] 0.1109
##
## $PRMPCD
## [1] 0.7389
##
## $VRMIRTC
## [1] 0.8732
##
## $VRMDRTC
## [1] 0.5207
##
## $VRMFRDS
## [1] 0.3966
##
## $RTISMDRT
## [1] 0.5149
##
## $RTISMDMT
## [1] 0.9974
##
## $RTIFMDRT
## [1] 0.2163
##
## $RTIFMDMT
## [1] 0.3098
# Nenhum significativo (sem transformação)
round(data.frame(lapply(model, function(m) m$p.value)), 4)
## SWMBE SWMS OTSPSFC OTSMDLFC OTSMCC OTSMLC PALTEA PALFAMS PALMETS PRMPCI
## 1 0.0876 0.6968 0.4633 0.8865 0.3996 0.683 0.793 0.6393 0.1413 0.1106
## PRMPCD VRMIRTC VRMDRTC VRMFRDS RTISMDRT RTISMDMT RTIFMDRT RTIFMDMT
## 1 0.7534 0.6832 0.6835 0.579 0.6369 0.9184 0.0933 0.1921
# Nenhum significativo (processado)
round(data.frame(lapply(model2, function(m) m$p.value)), 4)
## SWMBE SWMS OTSPSFC OTSMDLFC OTSMCC OTSMLC PALTEA PALFAMS PALMETS PRMPCI
## 1 0.119 0.6824 0.5938 0.8349 0.5899 0.7529 0.7225 0.5175 0.1322 0.1109
## PRMPCD VRMIRTC VRMDRTC VRMFRDS RTISMDRT RTISMDMT RTIFMDRT RTIFMDMT
## 1 0.7389 0.8732 0.5207 0.3966 0.5149 0.9974 0.2163 0.3098
CANTAB (Bootstrap e IC 95%)
# Bootstrap e IC 95%
# CANTAB (sem transformação)
set.seed(123)
model1 <- np_table(x = "grupo.moca",
y = c("SWMBE",
"SWMS",
"OTSPSFC",
"OTSMDLFC",
"OTSMCC",
"OTSMLC",
"PALTEA",
"PALFAMS",
"PALMETS",
"PRMPCI",
"PRMPCD",
"VRMIRTC",
"VRMDRTC",
"VRMFRDS",
"RTISMDRT",
"RTISMDMT",
"RTIFMDRT",
"RTIFMDMT"),
z = c("idade.x", "escolaridade", "sexo"),
full_data = cantab)
# Nenhum significativo
print(model1, digits = 4)
## Desfecho Coef Valor.p Valor.p.adj. CI95.Inf CI95.Sup
## SWMBE.x1 SWMBE -3.1316 0.0876 0.6359 -6.6763 0.4541
## SWMS.x1 SWMS -0.1886 0.6968 0.8921 -1.0509 0.7306
## OTSPSFC.x1 OTSPSFC 0.4524 0.4633 0.8921 -0.7522 1.6742
## OTSMDLFC.x1 OTSMDLFC 254.3226 0.8865 0.9184 -2189.1393 4312.0192
## OTSMCC.x1 OTSMCC -0.1084 0.3996 0.8921 -0.3517 0.1409
## OTSMLC.x1 OTSMLC -1564.4837 0.6830 0.8921 -7566.1144 6741.5779
## PALTEA.x1 PALTEA 0.7239 0.7930 0.8921 -4.3860 6.2194
## PALFAMS.x1 PALFAMS -0.3631 0.6393 0.8921 -1.8665 1.1216
## PALMETS.x1 PALMETS 0.4350 0.1413 0.6359 -0.1184 1.0224
## PRMPCI.x1 PRMPCI 4.0001 0.1106 0.6359 -1.2898 8.7428
## PRMPCD.x1 PRMPCD 0.7732 0.7534 0.8921 -4.1054 5.4214
## VRMIRTC.x1 VRMIRTC 0.2575 0.6832 0.8921 -0.9821 1.5428
## VRMDRTC.x1 VRMDRTC -0.2976 0.6835 0.8921 -1.5832 1.1834
## VRMFRDS.x1 VRMFRDS -0.2724 0.5790 0.8921 -1.2401 0.6583
## RTISMDRT.x1 RTISMDRT -4.5451 0.6369 0.8921 -22.3716 16.4566
## RTISMDMT.x1 RTISMDMT -1.2281 0.9184 0.9184 -25.3642 21.5321
## RTIFMDRT.x1 RTIFMDRT -19.0568 0.0933 0.6359 -43.2235 2.4640
## RTIFMDMT.x1 RTIFMDMT -16.8450 0.1921 0.6916 -42.0736 8.2273
# Bootstrap e IC 95%
# CANTAB (processado)
set.seed(123)
model2 <- np_table(x = "grupo.moca",
y = c("SWMBE",
"SWMS",
"OTSPSFC",
"OTSMDLFC",
"OTSMCC",
"OTSMLC",
"PALTEA",
"PALFAMS",
"PALMETS",
"PRMPCI",
"PRMPCD",
"VRMIRTC",
"VRMDRTC",
"VRMFRDS",
"RTISMDRT",
"RTISMDMT",
"RTIFMDRT",
"RTIFMDMT"),
z = c("idade.x", "escolaridade", "sexo"),
full_data = vars)
# Nenhum significativo
print(model2, digits = 4)
## Desfecho Coef Valor.p Valor.p.adj. CI95.Inf CI95.Sup
## SWMBE.x1 SWMBE -0.1481470 0.1190 0.7932 -0.33051 0.03678
## SWMS.x1 SWMS -0.0406672 0.6824 0.9035 -0.21640 0.14891
## OTSPSFC.x1 OTSPSFC 0.0501907 0.5938 0.9035 -0.13678 0.23786
## OTSMDLFC.x1 OTSMDLFC 0.0203508 0.8349 0.9246 -0.16274 0.23083
## OTSMCC.x1 OTSMCC -0.0502034 0.5899 0.9035 -0.22600 0.13137
## OTSMLC.x1 OTSMLC -0.0323487 0.7529 0.9035 -0.21035 0.17711
## PALTEA.x1 PALTEA 0.0343462 0.7225 0.9035 -0.14682 0.23002
## PALFAMS.x1 PALFAMS -0.0599448 0.5175 0.9035 -0.23863 0.11949
## PALMETS.x1 PALMETS 0.1489574 0.1322 0.7932 -0.03694 0.34424
## PRMPCI.x1 PRMPCI 0.1511367 0.1109 0.7932 -0.04672 0.32766
## PRMPCD.x1 PRMPCD 0.0327498 0.7389 0.9035 -0.16034 0.21884
## VRMIRTC.x1 VRMIRTC 0.0156745 0.8732 0.9246 -0.17130 0.20388
## VRMDRTC.x1 VRMDRTC -0.0651641 0.5207 0.9035 -0.25531 0.13494
## VRMFRDS.x1 VRMFRDS -0.0817455 0.3966 0.9035 -0.27158 0.10106
## RTISMDRT.x1 RTISMDRT -0.0698169 0.5149 0.9035 -0.27371 0.14625
## RTISMDMT.x1 RTISMDMT -0.0003505 0.9974 0.9974 -0.19450 0.18259
## RTIFMDRT.x1 RTIFMDRT -0.1252733 0.2163 0.9035 -0.33137 0.07261
## RTIFMDMT.x1 RTIFMDMT -0.0936398 0.3098 0.9035 -0.27054 0.08638