Banco de dados

library(tidyverse)
library(nptest)
library(dplyr)
library(purrr)
library(haven)

#setwd("C:/Dropbox/Laboratorio/Pedro Brandao/Covid/media_trato_imputado")

setwd("~/Dropbox/Laboratorio/Pedro Brandao/Covid/media_trato_imputado")

banco_imp <- read_sav("banco_imp.sav")

# Exporta para CSV
write.csv(banco_imp, "banco_imp.csv")

# Importa de CSV com NA e "" 
banco_imp <- read.csv("banco_imp.csv", 
                  row.names=1, na.strings= c("NA", ""))

# Limpa formatação do SPSS
dat <- zap_formats(zap_labels(banco_imp))

# Corrige a escolaridade da Ligia
#df["rowName", "columnName"] <- value
dat[dat$id == "LLA08051995", "escolaridade"] <- 13

filter(dat, id == "LLA08051995") %>% 
  dplyr::select(escolaridade)
##   escolaridade
## 1           13

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