Alfa = SIM / NÃO

Nivel = 0-6

library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.2.3
## Warning: package 'ggplot2' was built under R version 4.2.3
## Warning: package 'tibble' was built under R version 4.2.3
## Warning: package 'tidyr' was built under R version 4.2.3
## Warning: package 'readr' was built under R version 4.2.3
## Warning: package 'purrr' was built under R version 4.2.3
## Warning: package 'dplyr' was built under R version 4.2.3
## Warning: package 'stringr' was built under R version 4.2.3
## Warning: package 'forcats' was built under R version 4.2.3
## Warning: package 'lubridate' was built under R version 4.2.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.2     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.4.3     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(magrittr)
## Warning: package 'magrittr' was built under R version 4.2.3
## 
## Attaching package: 'magrittr'
## 
## The following object is masked from 'package:purrr':
## 
##     set_names
## 
## The following object is masked from 'package:tidyr':
## 
##     extract
library(patchwork)
## Warning: package 'patchwork' was built under R version 4.2.3
library(readxl)
## Warning: package 'readxl' was built under R version 4.2.3
library(writexl)
## Warning: package 'writexl' was built under R version 4.2.3
library(rstatix)
## Warning: package 'rstatix' was built under R version 4.2.3
## 
## Attaching package: 'rstatix'
## 
## The following object is masked from 'package:stats':
## 
##     filter
## Carregando o arquivo .csv

data <- read_csv("C:/Users/Ligia/OneDrive/Área de Trabalho/ANALISE_DE_DADOS_LIGIA/analise_ligia/alfabetizacaomei.csv",show_col_types = F)
colnames(data) <- str_c("COL", 1:43)

## Calculando o nível de alfabetização financeira 
## Aplicando filtros nas colunas e limpando a opção "não tenho interesse em responder".
## Criando a coluna "Alfabetizado", a partir das colunas 15, 16, 17, 18, 19 e 20.
## Recodificando as variáveis em 0 e 1, se a opção selecionada estiver correta, 1; se não 0.
## Se a somatória for >= 4, alfabetizado.

data |> 
  #dplyr::select(4,15:20) |> 
  mutate(COL3 = str_remove(COL3, " anos")) |>
  #filter(!(COL15 == "não tenho interesse em responder" |
  #        COL16 == "não tenho interesse em responder" |
  #       COL17 == "não tenho interesse em responder" |
  #      COL18 == "não tenho interesse em responder" |
  #     COL19 == "não tenho interesse em responder" |
  #    COL20 == "não tenho interesse em responder")) |> 
  mutate(COL15_cat = case_when(COL15 == "...vários investimentos (em mais de um tipo de aplicação, negócio, empresa, imóvel ou ação)" ~ 1,.default = 0),
         COL16_cat = case_when(COL16 == "mais de R$150,00" ~ 1,.default = 0),
         COL17_cat = case_when(COL17 == "...transferir para terceiros o risco de um eventual imprevisto (sinistro)" ~ 1,.default = 0),
         COL18_cat = case_when(COL18 == "...menos que compro hoje" ~ 1,.default = 0),
         COL19_cat = case_when(COL19 == "...o mesmo que você pode comprar hoje" ~ 1,.default = 0),
         COL20_cat = case_when(COL20 == "os mesmos R$100,00 mais os juros contratados" ~ 1,.default = 0),

         
         alfabetizado = case_when(COL15_cat + COL16_cat + COL17_cat + COL18_cat + COL19_cat + COL20_cat >=4 ~ "sim",.default = "não")) |> 
  
  mutate(COL11 = fct_relevel(COL11,
                             c("menor do que R$ 1.320,00 (menos de 1 salário mínimo)",
                               "de até R$ 2.640,00 (até 2 salários mínimos)",
                               "de R$ 2.640,00 a R$ 5.280,00 (de 2 a 4 salários mínimos)",
                               "de R$ 5.280,00 a R$ 10.560,00 (de 4 a 8 salários mínimos)",
                               "não tenho interesse em responder",
                               "não sei a minha renda média mensal"))) %>% 
  mutate(COL12 = fct_relevel(COL12,
                             c("menor do que R$ 1.320,00 (menos de 1 salário mínimo)",
                               "de até R$ 2.640,00 (até 2 salários mínimos)",
                               "de R$ 2.640,00 a R$5.280,00 (de 2 a 4 salários mínimos)",
                               "de R$5280,00 a R$10.560,00 (de 4 a 8 salários mínimos)",
                               "de R$10.560,00 a R$13.200,00 (de 8 a 10 salários mínimos)",
                               "não tenho interesse em responder",
                               "não sei a renda média da minha família"))) %>% 
  
  mutate(CAT_idade = case_when(COL3 <25 ~ "<25",
                               COL3 >=25 & COL3 <45 ~ "25-45",
                               COL3 >=45 & COL3 <65 ~ "45-65",
                               COL3 >=65 ~ ">65")) |> 
  mutate(CAT_idade = fct_relevel(CAT_idade, c("<25","25-45","45-65",">65"))) |> 
  mutate(COL6 = fct_relevel(COL6, c("ensino fundamental (1° grau) incompleto","ensino fundamental (1°grau) completo",
                                    "ensino médio (2° grau) incompleto","ensino médio (2° grau) completo",
                                    "ensino superior incompleto","ensino superior completo",
                                    "pós graduação completa")))-> datax




# DW ----------------------------------------------------------------------
dataxx <- datax %>% 
  mutate(nivel = COL15_cat+COL16_cat+COL17_cat+COL18_cat+COL19_cat+COL20_cat) %>% 
  mutate(alfa = case_when(alfabetizado == "não" ~ 0,T~1)) %>%
  mutate(educa = case_when(COL6 == "ensino fundamental (1° grau) incompleto" ~ 0,
                           COL6 == "ensino fundamental (1°grau) completo" ~ 1, 
                           COL6 == "ensino médio (2° grau) incompleto" ~ 2, 
                           COL6 == "ensino médio (2° grau) completo" ~ 3, 
                           COL6 == "ensino superior incompleto" ~ 4, 
                           COL6 == "ensino superior completo" ~ 5, 
                           COL6 == "pós graduação completa" ~ 6)) %>% 
  mutate(raca = case_when(COL5 == "branca" ~ 1,
                          COL5 == "parda" ~ 2,
                          COL5 == "preta" ~ 3,
                          COL5 == "indigena" ~ 4,
                          COL5 == "prefiro não informar" ~ 5)) %>% 
  mutate(gen = case_when(COL4 == "Feminino" ~ 0,T~1)) %>% 
  mutate(renda = case_when(COL11 == "menor do que R$ 1.320,00 (menos de 1 salário mínimo)" ~ 0,
                           COL11 == "de até R$ 2.640,00 (até 2 salários mínimos)" ~ 1,
                           COL11 == "de R$ 2.640,00 a R$ 5.280,00 (de 2 a 4 salários mínimos)" ~ 2,
                           COL11 == "de R$ 5.280,00 a R$ 10.560,00 (de 4 a 8 salários mínimos)" ~ 3,
                           COL11 == "não sei a minha renda média mensal " ~ 4,
                           COL11 == "não tenho interesse em responder" ~ 5)) %>%
  mutate(H6_1 = case_when(COL34 == "mantenho contas correntes distintas para finanças pessoais e empresariais, mas enfrento dificuldades em gerenciá-las de forma separada" ~ 3,
                         COL34 == "gerencio as contas correntes, empresarial e pessoal, com total separação" ~ 4,
                         COL34 == "utilizo uma única conta corrente para gerir tanto as finanças pessoais quanto as empresariais" ~ 2,
                         COL34 == "não tenho interesse em responder" ~ 1,
                         COL34 == "não sei responder" ~ 0)) %>% 
  mutate(H6_2 = case_when(COL36 == "analisei diversas alternativas de diferentes instituições financeiras antes de finalizar minha escolha" ~ 4,
                         COL36 == "analisei as diversas alternativas oferecidas por uma única instituição financeira antes de decidir" ~ 3,
                         COL36 == "optei pela primeira proposta que me foi apresentada, sem avaliar outras instituições financeiras" ~ 2,
                         COL36 == "não tenho interesse em responde" ~ 1,
                         COL36 == "não sei responder" ~ 0)) %>% 
  mutate(H6_3 = case_when(COL37 == "em formato eletrônico, por exemplo, MS Excel ou software dedicado" ~ 7,
                          COL37 == "outra pessoa faz isso por mim, por exemplo, o contador" ~ 6,
                          COL37 == "em papel, por exemplo, anotando-os em um caderno, mantendo recibos e faturas" ~ 5,
                          COL37 == "eu acompanho os registros financeiros na minha cabeça" ~ 4,
                          COL37 == "de outra forma" ~ 3,
                          COL37 == "eu não costumo acompanhar" ~ 2,
                          COL37 == "não tenho interesse em responde" ~ 1,
                          COL37 == "não sei responder" ~ 0)) %>% 
  mutate(H7_1 = case_when(COL40 == "discordo totalmente" ~ 0,
                          COL40 == "discordo parcialmente" ~ 1,
                          COL40 == "concordo parcialmente" ~ 3,
                          COL40 == "concordo totalmente" ~ 4,
                          COL40 == "indiferente" ~ 2)) %>% 
  mutate(H7_2 = case_when(COL41 == "discordo totalmente" ~ 0,
                          COL41 == "discordo parcialmente" ~ 1,
                          COL41 == "concordo parcialmente" ~ 3,
                          COL41 == "concordo totalmente" ~ 4,
                          COL41 == "indiferente" ~ 2)) %>% 
  mutate(H7_3 = case_when(COL42 == "discordo totalmente" ~ 0,
                          COL42 == "discordo parcialmente" ~ 1,
                          COL42 == "concordo parcialmente" ~ 3,
                          COL42 == "concordo totalmente" ~ 4,
                          COL42 == "indiferente" ~ 2)) %>% 
  mutate(H7_4 = case_when(COL43 == "discordo totalmente" ~ 0,
                          COL43 == "discordo parcialmente" ~ 1,
                          COL43 == "concordo parcialmente" ~ 3,
                          COL43 == "concordo totalmente" ~ 4,
                          COL43 == "indiferente" ~ 2)) %>% 
  mutate(poupa = case_when(COL30 == "discordo totalmente" ~ 0,
                           COL30 == "discordo parcialmente" ~ 1,
                           COL30 == "concordo parcialmente" ~ 3,
                           COL30 == "Concordo totalmente" ~ 4,
                           COL30 == "indiferente" ~ 2)) %>% 
  mutate(CAT_idade = case_when(COL3 <25 ~ 0,
                               COL3 >=25 & COL3 <45 ~ 1,
                               COL3 >=45 & COL3 <65 ~ 2,
                               COL3 >=65 ~ 3)) %>% 
  dplyr::select(nivel,alfa,
                COL4,COL5,COL6,COL11,COL34,COL36,COL37,COL40,COL41,COL42,COL43,COL35,COL30,COL3,
                gen,raca,educa,renda,H6_1,H6_2,H6_3,H7_1,H7_2,H7_3,H7_4,poupa,CAT_idade,COL29) %>% rename("Sempre que compro à vista, peço desconto." = COL29)

datax %>% distinct(COL30) %>% pull()
## [1] "Concordo totalmente"   "concordo parcialmente" "discordo totalmente"  
## [4] "indiferente"           "discordo parcialmente"
dataxx %>% dplyr::select(nivel,COL35) %>% 
  separate_longer_delim(COL35,delim = ";") %>% distinct(COL35)
dataxxx <- dataxx %>% dplyr::select(nivel,COL35) %>% 
  separate_longer_delim(COL35,delim = ";") %>% 
  mutate(COL35x = case_when(COL35 == "capital de giro" ~ "crédito",
                            COL35 == "cheque especial" ~ "crédito",
                            COL35 == "cartão de crédito" ~ "crédito",
                            COL35 == "cobrança (boleto bancário)" ~ "recebíveis",
                            COL35 == "custódia e desconto de cheque" ~ "recebíveis",
                            COL35 == "antecipação de recebíveis (agenda de cartões de crédito e de boletos)" ~ "recebíveis",
                            COL35 == "título de capitalização" ~ "investimento curto prazo",
                            COL35 == "Aplicação em CDB" ~ "investimento curto prazo",
                            COL35 == "seguro de vida" ~ "seguros",
                            COL35 == "seguro de veículo" ~ "seguros",
                            COL35 == "poupança" ~ "investimento curto prazo",
                            COL35 == "previdência complementar aberta" ~ "investimentos longo prazo",
                            COL35 == "Aplicação em Letra de Crédito (LCI e LCA)" ~ "investimentos longo prazo",
                            COL35 == "Aplicação em ações" ~ "investimentos longo prazo")) %>% 
  mutate(COL35xx = case_when(COL35x == "investimentos longo prazo" ~ 0,
                             COL35x == "investimento curto prazo" ~ 1,
                             COL35x == "seguros" ~ 2,
                             COL35x == "recebíveis" ~ 3,
                             COL35x == "crédito" ~ 4))
# Teste de Hipótese
#   Hipótese 1: Há diferença no nível de alfabetização financeira entre homens e mulheres

# Teste de hipótese de normalidade - Shapiro test 
## H0 - dados normais (P>0.05). 
## H1 - dados não-normais(P<0.05). 
## Assim, rejeita-se H0, aceita-se H1. Dados não possuem distribiuição normal.

shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
# Histograma (Variável: Nível)
p1<- ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL4),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira - Pontos de 0 a 6")
p1
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

# Correlação de Spearman

## Teste de hipótese para dados não-normais (diferentes ou não). 
## H0: não há correlação entre as duas variáveis, ou seja, rho é igual a 0. 
## H1: há correlação, ou seja, rho não é igual a 0.

## Estatística de teste (S): 38714
## Valor-p: 0.5655
## Estimativa de rho: -0.07568563

## Aceita-se H0; não há correlação entre sexo e alfabetização financeira.

cor.test(dataxx$gen, dataxx$alfa, method = "spearman")
## Warning in cor.test.default(dataxx$gen, dataxx$alfa, method = "spearman"):
## Impossível calcular o valor exato de p com empates
## 
##  Spearman's rank correlation rho
## 
## data:  dataxx$gen and dataxx$alfa
## S = 38714, p-value = 0.5655
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##         rho 
## -0.07568563
# Wilcox.test
## Teste de Wilcoxon, também conhecido como teste de soma de postos de Wilcoxon ou teste de Mann-Whitney U.
## H0: as medianas das duas amostras são iguais 
## H1: a mediana de uma amostra é maior que a mediana da outra
## A hipótese nula é a suposição que se deseja testar, e a hipótese alternativa é o contrário da hipótese nula. Se o valor-p do teste for menor que o nível de significância escolhido (geralmente 0,05), a hipótese nula é rejeitada em favor da hipótese alternativa. Se o valor-p for maior que o nível de significância, a hipótese nula não é rejeitada. Isso significa que, com base nos dados disponíveis, não há evidências suficientes para rejeitar a suposição da hipótese nula.
## Ambas as variáveis apresentam p-value > 0,05; aceita-se H0. 

wilcox.test(nivel ~ COL4, alternative = "greater", data=dataxx)
## Warning in wilcox.test.default(x = DATA[[1L]], y = DATA[[2L]], ...): não é
## possível computar o valor de p exato com o de desempate
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  nivel by COL4
## W = 456.5, p-value = 0.4511
## alternative hypothesis: true location shift is greater than 0
wilcox.test(alfa ~ COL4, alternative = "greater", data=dataxx)
## Warning in wilcox.test.default(x = DATA[[1L]], y = DATA[[2L]], ...): não é
## possível computar o valor de p exato com o de desempate
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  alfa by COL4
## W = 476, p-value = 0.284
## alternative hypothesis: true location shift is greater than 0
# Kruskal-Wallis test
## O teste de Kruskal-Wallis é uma alternativa não paramétrica para a ANOVA de uma via e é usado para determinar se existem diferenças estatisticamente significativas entre as medianas de três ou mais grupos independentes em uma variável dependente contínua ou ordinal

## H0: As medianas dos grupos são iguais. Não há diferenças significativas entre os grupos.
## H1: Pelo menos uma das medianas dos grupos é diferente das outras. 

## Se o valor de p for menor que 0.05, então, há evidência suficiente para rejeitar a hipótese nula (H0) e aceitar a hipótese alternativa (H1), indicando que há diferenças significativas entre as medianas dos grupos.
## Se o valor de p for maior que 0.05, então, não há evidência suficiente para rejeitar a hipótese nula (H0), e você deve concluir que não há diferenças significativas entre as medianas dos grupos.

## tanto alfa como nível apresentam p>0,05, então, não há evidência estatística suficiente para rejeitar HO. Ou seja, não há evidências para afirmar que as medianas dos grupos são diferentes.

kruskal.test(dataxx$nivel, dataxx$gen)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$nivel and dataxx$gen
## Kruskal-Wallis chi-squared = 0.017036, df = 1, p-value = 0.8962
kruskal.test(dataxx$alfa, dataxx$gen)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$gen
## Kruskal-Wallis chi-squared = 0.33797, df = 1, p-value = 0.561
# Teste de Fisher para variáveis binárias (Alfa e Gen)
## O teste exato de Fisher é usado para avaliar a significância de uma associação entre duas variáveis categóricas. É uma alternativa ao teste qui-quadrado quando as frequências esperadas são baixas (geralmente menor que 5) em uma tabela de contingência. Diferentemente do qui-quadrado, o teste exato de Fisher não faz suposições sobre a distribuição dos dados.

## H0: Não há associação entre as duas variáveis categóricas.
## H1: Existe uma associação entre as duas variáveis categóricas.

## Fisher Test com value de 0.29 onde aceita-se H0, não há evidência suficiente para afirmar que as variáveis estão associadas.  

fisher.test(dataxx$nivel, dataxx$gen)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$nivel and dataxx$gen
## p-value = 0.2921
## alternative hypothesis: two.sided
# Teste Kolmorogov-smirnov 
## O Teste Kolmogorov-Smirnov é um teste estatístico não paramétrico que compara a distribuição acumulada de duas amostras para verificar se elas são provenientes da mesma distribuição. 

## H0: As duas amostras são da mesma distribuição (P>0.05)
## H1: As duas amostras são de distribuições diferentes (P<0.05)

## Teste para nivel e sexo:
## Estatística de teste (D): 0.78333
## Valor-p: 2.62e-14
## p < 0,05. Rejeita-se H0. Isso sugere que as distribuições de "nivel" e "gen" são significativamente diferentes.  

## Teste para alfa e sexo:
## Estatística de teste (D): 0.31667
## Valor-p: 0.00061
## p < 0,05. Rejeita-se H0. Isso sugere que as distribuições de "alfa" e "gen" são significativamente diferentes. 


ks.test(dataxx$nivel, dataxx$gen)
## 
##  Exact two-sample Kolmogorov-Smirnov test
## 
## data:  dataxx$nivel and dataxx$gen
## D = 0.78333, p-value = 2.62e-14
## alternative hypothesis: two-sided
ks.test(dataxx$alfa, dataxx$gen)
## 
##  Exact two-sample Kolmogorov-Smirnov test
## 
## data:  dataxx$alfa and dataxx$gen
## D = 0.31667, p-value = 0.00061
## alternative hypothesis: two-sided
# Em relação de sexo com o nível de alfabetização foi verificado com teste de Wilcox onde obteve-se W = 456 e P-value=0.45, assim aceita-se H0, não tendo diferenças de nível de alfabetização financeira entre sexo.
dataxx %>% 
  group_by(COL4) %>%
  get_summary_stats(nivel) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
dataxx %>% 
  group_by(COL4) %>%
  get_summary_stats(alfa) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
# Teste de Hipótese:
#   H2: A escolaridade está associada ao nível de alfabetização financeira;

# Teste de hipótese de normalidade. H0 - dados normais (P>0.05). H1 - dados não-normais(P<0.05).

shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
shapiro.test(dataxx$educa)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$educa
## W = 0.92642, p-value = 0.001404
ks.test(dataxx$educa, dataxx$alfa)
## 
##  Exact two-sample Kolmogorov-Smirnov test
## 
## data:  dataxx$educa and dataxx$alfa
## D = 0.83333, p-value = 2.62e-14
## alternative hypothesis: two-sided
# Histograma (Alfabetização e escolaridade)
p2<-ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL6),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira - Pontos de 0 a 6")

p2
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

# Para as variáveis que contém mais de 2 níveis para o fator (exemplo de escolaridade - com categorias de ensinos desde fundamental até pós-graduação).

# Teste pairwise Wilcox

# Com o teste pairwise Wilcox pode-se identificar diferenças de nível de alfabetização e escolaridade aos níveis de ensino superior completo com ensino médio (2° grau) incompleto (P- value = 0.02), ensino superior completo com ensino médio (2° grau) completo (P-value = 0.01), e ensino superior completo com ensino superior incompleto (P-value = 0.02). De forma geral ensino superior completo apresenta maior nível de alfabetização financeira em relação aos contrastes.  


# Nivel de alfabetização é diferente em relação aos testes pareados, enquanto a binarização (alfa) acaba não sendo significativo.

# Testes com variável 'nivel'

pairwise.wilcox.test(dataxx$nivel, dataxx$COL6, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##                                      ensino fundamental (1° grau) incompleto
## ensino fundamental (1°grau) completo                              0.06693437
## ensino médio (2° grau) incompleto                                 0.09102784
## ensino médio (2° grau) completo                                   0.21319967
## ensino superior incompleto                                        1.00000000
## ensino superior completo                                          0.27266837
## pós graduação completa                                            0.44310233
##                                      ensino fundamental (1°grau) completo
## ensino fundamental (1°grau) completo                                   NA
## ensino médio (2° grau) incompleto                              0.59002868
## ensino médio (2° grau) completo                                0.48946957
## ensino superior incompleto                                     0.17763408
## ensino superior completo                                       0.02954232
## pós graduação completa                                         0.09548323
##                                      ensino médio (2° grau) incompleto
## ensino fundamental (1°grau) completo                                NA
## ensino médio (2° grau) incompleto                                   NA
## ensino médio (2° grau) completo                             0.81767620
## ensino superior incompleto                                  0.21087388
## ensino superior completo                                    0.01055353
## pós graduação completa                                      0.07594258
##                                      ensino médio (2° grau) completo
## ensino fundamental (1°grau) completo                              NA
## ensino médio (2° grau) incompleto                                 NA
## ensino médio (2° grau) completo                                   NA
## ensino superior incompleto                                0.40219374
## ensino superior completo                                  0.02426546
## pós graduação completa                                    0.13284863
##                                      ensino superior incompleto
## ensino fundamental (1°grau) completo                         NA
## ensino médio (2° grau) incompleto                            NA
## ensino médio (2° grau) completo                              NA
## ensino superior incompleto                                   NA
## ensino superior completo                              0.5412883
## pós graduação completa                                0.5856622
##                                      ensino superior completo
## ensino fundamental (1°grau) completo                       NA
## ensino médio (2° grau) incompleto                          NA
## ensino médio (2° grau) completo                            NA
## ensino superior incompleto                                 NA
## ensino superior completo                                   NA
## pós graduação completa                                      1
aa <- pairwise.wilcox.test(dataxx$nivel, dataxx$COL6, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
aa <- aa %>% as_tibble() 

# kruskal.test(dataxx$nivel, dataxx$COL6)

# Testes com variável 'alfa'
kruskal.test(dataxx$alfa, dataxx$COL6)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$COL6
## Kruskal-Wallis chi-squared = 9.7529, df = 6, p-value = 0.1355
fisher.test(dataxx$alfa, dataxx$COL6)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$alfa and dataxx$COL6
## p-value = 0.09207
## alternative hypothesis: two.sided
chisq.test(dataxx$alfa, dataxx$COL6)
## Warning in chisq.test(dataxx$alfa, dataxx$COL6): Aproximação do qui-quadrado
## pode estar incorreta
## 
##  Pearson's Chi-squared test
## 
## data:  dataxx$alfa and dataxx$COL6
## X-squared = 9.9182, df = 6, p-value = 0.1281
# Correlação de Spearman
cor.test(dataxx$educa, dataxx$alfa, method = "spearman")
## Warning in cor.test.default(dataxx$educa, dataxx$alfa, method = "spearman"):
## Impossível calcular o valor exato de p com empates
## 
##  Spearman's rank correlation rho
## 
## data:  dataxx$educa and dataxx$alfa
## S = 23753, p-value = 0.007861
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##       rho 
## 0.3400098
cor.test(dataxx$educa, dataxx$nivel, method = "spearman")
## Warning in cor.test.default(dataxx$educa, dataxx$nivel, method = "spearman"):
## Impossível calcular o valor exato de p com empates
## 
##  Spearman's rank correlation rho
## 
## data:  dataxx$educa and dataxx$nivel
## S = 24837, p-value = 0.01597
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##       rho 
## 0.3098839
dataxx %>% 
  group_by(COL6) %>%
  get_summary_stats(nivel) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
dataxx %>% 
  group_by(COL6) %>%
  get_summary_stats(alfa) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
# Teste de Hipótese

#   H3: A idade está associada ao nível de alfabetização financeira;
shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
shapiro.test(dataxx$CAT_idade)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$CAT_idade
## W = 0.72211, p-value = 2.426e-09
# Aplicar teste de normalidade(dataxx$alfa)
# Aplicar teste de normalidade(dataxx$CAT_idade)

p4<-ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL3),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira")

p4
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

# Com o teste pairwise Wilcox pode-se identificar diferenças de nível de alfabetização e idade, onde foi encontrado que pessoas com menor de 25 anos possuem menor nivel de alfabetização financeira em relação à pessoas de 25-45 anos (P-value = 0.04). 
pairwise.wilcox.test(dataxx$nivel, dataxx$CAT_idade, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##            0         1         2
## 1 0.04383633        NA        NA
## 2 0.20344412 0.4402928        NA
## 3 0.34577859 0.1099134 0.1498655
kruskal.test(dataxx$nivel, dataxx$CAT_idade)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$nivel and dataxx$CAT_idade
## Kruskal-Wallis chi-squared = 6.8081, df = 3, p-value = 0.07827
kruskal.test(dataxx$alfa, dataxx$CAT_idade)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$CAT_idade
## Kruskal-Wallis chi-squared = 4.3971, df = 3, p-value = 0.2216
fisher.test(dataxx$alfa, dataxx$CAT_idade)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$alfa and dataxx$CAT_idade
## p-value = 0.4132
## alternative hypothesis: two.sided
# Correlação de Spearman
cor.test(dataxx$CAT_idade, dataxx$alfa, method = "spearman")
## Warning in cor.test.default(dataxx$CAT_idade, dataxx$alfa, method =
## "spearman"): Impossível calcular o valor exato de p com empates
## 
##  Spearman's rank correlation rho
## 
## data:  dataxx$CAT_idade and dataxx$alfa
## S = 32331, p-value = 0.4396
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##       rho 
## 0.1016674
cor.test(dataxx$CAT_idade, dataxx$nivel, method = "spearman")
## Warning in cor.test.default(dataxx$CAT_idade, dataxx$nivel, method =
## "spearman"): Impossível calcular o valor exato de p com empates
## 
##  Spearman's rank correlation rho
## 
## data:  dataxx$CAT_idade and dataxx$nivel
## S = 33025, p-value = 0.5314
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##        rho 
## 0.08239184
dataxx %>% 
  group_by(CAT_idade) %>%
  get_summary_stats(nivel) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
## Warning: There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning:
## ! There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning in `stats::qt()`:
## ! NaNs produzidos
dataxx %>% 
  group_by(CAT_idade) %>%
  get_summary_stats(alfa) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
## Warning: There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning:
## ! There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning in `stats::qt()`:
## ! NaNs produzidos
# Teste de Hipótese
#   H4: A renda está associada ao nível de alfabetização financeira;

shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
# Aplicar teste de normalidade(dataxx$alfa)
# Aplicar teste de normalidade(dataxx$renda)


p3<-ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL11),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira - Pontos de 0 a 6")

p3
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

# Aceita H0 (nenhum P-value é menor que 0.05)
pairwise.wilcox.test(dataxx$nivel, dataxx$COL11, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##                                                           menor do que R$ 1.320,00 (menos de 1 salário mínimo)
## de até R$ 2.640,00 (até 2 salários mínimos)                                                          0.1737596
## de R$ 2.640,00 a R$ 5.280,00 (de 2 a 4 salários mínimos)                                             0.2843422
## de R$ 5.280,00 a R$ 10.560,00 (de 4 a 8 salários mínimos)                                            0.1477587
## não tenho interesse em responder                                                                     0.6974874
## não sei a minha renda média mensal                                                                   0.8806164
##                                                           de até R$ 2.640,00 (até 2 salários mínimos)
## de até R$ 2.640,00 (até 2 salários mínimos)                                                        NA
## de R$ 2.640,00 a R$ 5.280,00 (de 2 a 4 salários mínimos)                                    0.7613078
## de R$ 5.280,00 a R$ 10.560,00 (de 4 a 8 salários mínimos)                                   0.4470304
## não tenho interesse em responder                                                            0.8031951
## não sei a minha renda média mensal                                                          1.0000000
##                                                           de R$ 2.640,00 a R$ 5.280,00 (de 2 a 4 salários mínimos)
## de até R$ 2.640,00 (até 2 salários mínimos)                                                                     NA
## de R$ 2.640,00 a R$ 5.280,00 (de 2 a 4 salários mínimos)                                                        NA
## de R$ 5.280,00 a R$ 10.560,00 (de 4 a 8 salários mínimos)                                                0.4293043
## não tenho interesse em responder                                                                         0.8653398
## não sei a minha renda média mensal                                                                       0.9602881
##                                                           de R$ 5.280,00 a R$ 10.560,00 (de 4 a 8 salários mínimos)
## de até R$ 2.640,00 (até 2 salários mínimos)                                                                      NA
## de R$ 2.640,00 a R$ 5.280,00 (de 2 a 4 salários mínimos)                                                         NA
## de R$ 5.280,00 a R$ 10.560,00 (de 4 a 8 salários mínimos)                                                        NA
## não tenho interesse em responder                                                                          0.6184756
## não sei a minha renda média mensal                                                                        1.0000000
##                                                           não tenho interesse em responder
## de até R$ 2.640,00 (até 2 salários mínimos)                                             NA
## de R$ 2.640,00 a R$ 5.280,00 (de 2 a 4 salários mínimos)                                NA
## de R$ 5.280,00 a R$ 10.560,00 (de 4 a 8 salários mínimos)                               NA
## não tenho interesse em responder                                                        NA
## não sei a minha renda média mensal                                                       1
kruskal.test(dataxx$nivel, dataxx$COL11)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$nivel and dataxx$COL11
## Kruskal-Wallis chi-squared = 2.7259, df = 5, p-value = 0.7422
kruskal.test(dataxx$alfa, dataxx$COL11)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$COL11
## Kruskal-Wallis chi-squared = 1.4588, df = 5, p-value = 0.9178
fisher.test(dataxx$alfa, dataxx$COL11)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$alfa and dataxx$COL11
## p-value = 0.8602
## alternative hypothesis: two.sided
# Correlação de Spearman
cor.test(dataxx$renda, dataxx$alfa, method = "spearman")
## Warning in cor.test.default(dataxx$renda, dataxx$alfa, method = "spearman"):
## Impossível calcular o valor exato de p com empates
## 
##  Spearman's rank correlation rho
## 
## data:  dataxx$renda and dataxx$alfa
## S = 29685, p-value = 0.5167
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##        rho 
## 0.08687953
cor.test(dataxx$renda, dataxx$nivel, method = "spearman")
## Warning in cor.test.default(dataxx$renda, dataxx$nivel, method = "spearman"):
## Impossível calcular o valor exato de p com empates
## 
##  Spearman's rank correlation rho
## 
## data:  dataxx$renda and dataxx$nivel
## S = 28500, p-value = 0.3564
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##      rho 
## 0.123315
dataxx %>% 
  group_by(COL11) %>%
  get_summary_stats(nivel) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
dataxx %>% 
  group_by(COL11) %>%
  get_summary_stats(alfa) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
# Teste de Hipótese
#H5: O comportamento de poupança está associado ao nível de alfabetização financeira;

#Escala likert a afirmação: Mensalmente, guardo uma parte da minha renda média (individual) para eventualidades.

shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
shapiro.test(dataxx$poupa)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$poupa
## W = 0.82743, p-value = 6.989e-07
p5<-ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL30),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira (0 a 6)")

p5
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

pairwise.wilcox.test(dataxx$nivel, dataxx$COL30, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##                       concordo parcialmente Concordo totalmente
## Concordo totalmente               0.8372061                  NA
## discordo parcialmente             0.8793503           0.9526373
## discordo totalmente               0.7477382           0.4330610
## indiferente                       0.4371618           0.2929423
##                       discordo parcialmente discordo totalmente
## Concordo totalmente                      NA                  NA
## discordo parcialmente                    NA                  NA
## discordo totalmente                1.000000                  NA
## indiferente                        0.772695           0.7175992
kruskal.test(dataxx$nivel, dataxx$COL30)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$nivel and dataxx$COL30
## Kruskal-Wallis chi-squared = 1.3975, df = 4, p-value = 0.8446
kruskal.test(dataxx$alfa, dataxx$COL30)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$COL30
## Kruskal-Wallis chi-squared = 4.4858, df = 4, p-value = 0.3442
fisher.test(dataxx$alfa, dataxx$COL30)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$alfa and dataxx$COL30
## p-value = 0.2916
## alternative hypothesis: two.sided
dataxx %>% 
  group_by(COL30) %>%
  get_summary_stats(nivel) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
dataxx %>% 
  group_by(COL30) %>%
  get_summary_stats(alfa) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
# Teste de Hipótese
#H6: Práticas de gestão empresariais eficientes estão associadas ao nível de alfabetização financeira;

## H6 1: "Você poderia dizer qual dessas afirmações melhor representa a sua situação?"

shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
# Aplicar teste de normalidade(dataxx$alfa)
# Aplicar teste de normalidade(dataxx$H6_1)


p6<-ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL34),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira")

p6
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

# Para o teste de chisq.test foi significativo, no entanto para os outros (kruskal.test e fisher.test) não foram significativo.

pairwise.wilcox.test(dataxx$nivel, dataxx$COL34, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##                                                                                                                                        gerencio as contas correntes, empresarial e pessoal, com total separação
## mantenho contas correntes distintas para finanças pessoais e empresariais, mas enfrento dificuldades em gerenciá-las de forma separada                                                                0.1703269
## não sei responder                                                                                                                                                                                     0.2471764
## não tenho interesse em responder                                                                                                                                                                      0.2283485
## utilizo uma única conta corrente para gerir tanto as finanças pessoais quanto as empresariais                                                                                                         0.7923207
##                                                                                                                                        mantenho contas correntes distintas para finanças pessoais e empresariais, mas enfrento dificuldades em gerenciá-las de forma separada
## mantenho contas correntes distintas para finanças pessoais e empresariais, mas enfrento dificuldades em gerenciá-las de forma separada                                                                                                                                     NA
## não sei responder                                                                                                                                                                                                                                                  0.15446576
## não tenho interesse em responder                                                                                                                                                                                                                                   0.02798492
## utilizo uma única conta corrente para gerir tanto as finanças pessoais quanto as empresariais                                                                                                                                                                      0.08707940
##                                                                                                                                        não sei responder
## mantenho contas correntes distintas para finanças pessoais e empresariais, mas enfrento dificuldades em gerenciá-las de forma separada                NA
## não sei responder                                                                                                                                     NA
## não tenho interesse em responder                                                                                                               1.0000000
## utilizo uma única conta corrente para gerir tanto as finanças pessoais quanto as empresariais                                                  0.1926548
##                                                                                                                                        não tenho interesse em responder
## mantenho contas correntes distintas para finanças pessoais e empresariais, mas enfrento dificuldades em gerenciá-las de forma separada                               NA
## não sei responder                                                                                                                                                    NA
## não tenho interesse em responder                                                                                                                                     NA
## utilizo uma única conta corrente para gerir tanto as finanças pessoais quanto as empresariais                                                                 0.1860841
kruskal.test(dataxx$nivel, dataxx$COL34)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$nivel and dataxx$COL34
## Kruskal-Wallis chi-squared = 7.8882, df = 4, p-value = 0.09576
chisq.test(dataxx$nivel, dataxx$COL34)
## Warning in chisq.test(dataxx$nivel, dataxx$COL34): Aproximação do qui-quadrado
## pode estar incorreta
## 
##  Pearson's Chi-squared test
## 
## data:  dataxx$nivel and dataxx$COL34
## X-squared = 41.39, df = 20, p-value = 0.003319
kruskal.test(dataxx$alfa, dataxx$COL34)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$COL34
## Kruskal-Wallis chi-squared = 4.351, df = 4, p-value = 0.3606
fisher.test(dataxx$alfa, dataxx$COL34)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$alfa and dataxx$COL34
## p-value = 0.4247
## alternative hypothesis: two.sided
cor.test(dataxx$H6_1, dataxx$alfa, method = "spearman")
## Warning in cor.test.default(dataxx$H6_1, dataxx$alfa, method = "spearman"):
## Impossível calcular o valor exato de p com empates
## 
##  Spearman's rank correlation rho
## 
## data:  dataxx$H6_1 and dataxx$alfa
## S = 28804, p-value = 0.1262
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##       rho 
## 0.1996548
cor.test(dataxx$H6_1, dataxx$nivel, method = "spearman")
## Warning in cor.test.default(dataxx$H6_1, dataxx$nivel, method = "spearman"):
## Impossível calcular o valor exato de p com empates
## 
##  Spearman's rank correlation rho
## 
## data:  dataxx$H6_1 and dataxx$nivel
## S = 29969, p-value = 0.2014
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##       rho 
## 0.1672872
dataxx %>% 
  group_by(COL34) %>%
  get_summary_stats(nivel) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
## Warning: There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning:
## ! There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning in `stats::qt()`:
## ! NaNs produzidos
dataxx %>% 
  group_by(COL34) %>%
  get_summary_stats(alfa) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
## Warning: There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning:
## ! There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning in `stats::qt()`:
## ! NaNs produzidos
# Teste de Hipótese

#H6: Práticas de gestão empresariais eficientes estão associadas ao nível de alfabetização financeira;

## H6 2: "Como você escolheu o último serviço ou produto bancário para sua empresa?"

shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
# Aplicar teste de normalidade(dataxx$alfa)
# Aplicar teste de normalidade(dataxx$H6_2)


p7<-ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL36),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira")

p7
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

pairwise.wilcox.test(dataxx$nivel, dataxx$COL36, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##                                                                                                        analisei as diversas alternativas oferecidas por uma única instituição financeira antes de decidir
## analisei diversas alternativas de diferentes instituições financeiras antes de finalizar minha escolha                                                                                         0.91624790
## não sei responder                                                                                                                                                                              0.62757359
## não tenho interesse em responde                                                                                                                                                                0.04559215
## optei pela primeira proposta que me foi apresentada, sem avaliar outras instituições financeiras                                                                                               0.78648761
##                                                                                                        analisei diversas alternativas de diferentes instituições financeiras antes de finalizar minha escolha
## analisei diversas alternativas de diferentes instituições financeiras antes de finalizar minha escolha                                                                                                     NA
## não sei responder                                                                                                                                                                                   0.4697902
## não tenho interesse em responde                                                                                                                                                                     0.0111627
## optei pela primeira proposta que me foi apresentada, sem avaliar outras instituições financeiras                                                                                                    0.6124970
##                                                                                                        não sei responder
## analisei diversas alternativas de diferentes instituições financeiras antes de finalizar minha escolha                NA
## não sei responder                                                                                                     NA
## não tenho interesse em responde                                                                               0.05399245
## optei pela primeira proposta que me foi apresentada, sem avaliar outras instituições financeiras              0.50844448
##                                                                                                        não tenho interesse em responde
## analisei diversas alternativas de diferentes instituições financeiras antes de finalizar minha escolha                              NA
## não sei responder                                                                                                                   NA
## não tenho interesse em responde                                                                                                     NA
## optei pela primeira proposta que me foi apresentada, sem avaliar outras instituições financeiras                             0.2127562
kruskal.test(dataxx$nivel, dataxx$COL36)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$nivel and dataxx$COL36
## Kruskal-Wallis chi-squared = 7.6557, df = 4, p-value = 0.105
chisq.test(dataxx$nivel, dataxx$COL36)
## Warning in chisq.test(dataxx$nivel, dataxx$COL36): Aproximação do qui-quadrado
## pode estar incorreta
## 
##  Pearson's Chi-squared test
## 
## data:  dataxx$nivel and dataxx$COL36
## X-squared = 27.484, df = 20, p-value = 0.1222
kruskal.test(dataxx$alfa, dataxx$COL36)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$COL36
## Kruskal-Wallis chi-squared = 4.3729, df = 4, p-value = 0.3579
fisher.test(dataxx$alfa, dataxx$COL36)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$alfa and dataxx$COL36
## p-value = 0.2626
## alternative hypothesis: two.sided
dataxx %>% 
  group_by(COL36) %>%
  get_summary_stats(nivel) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
dataxx %>% 
  group_by(COL36) %>%
  get_summary_stats(alfa) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
# Teste de Hipótese
#H6: Práticas de gestão empresariais eficientes estão associadas ao nível de alfabetização financeira;

## H6 3: "Como você acompanha os registros financeiros da empresa?

shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
# Aplicar teste de normalidade(dataxx$alfa)
# Aplicar teste de normalidade(dataxx$H6_3)

p8<-ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL37),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira")

p8
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

pairwise.wilcox.test(dataxx$nivel, dataxx$COL37, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##                                                                              de outra forma
## em formato eletrônico, por exemplo, MS Excel ou software dedicado                 0.1111247
## em papel, por exemplo, anotando-os em um caderno, mantendo recibos e faturas      0.2231680
## eu acompanho os registros financeiros na minha cabeça                             0.2289685
## eu não costumo acompanhar                                                         0.7835305
## não sei responder                                                                 0.5811695
## não tenho interesse em responder                                                  0.2244961
## outra pessoa faz isso por mim, por exemplo, o contador                            1.0000000
##                                                                              em formato eletrônico, por exemplo, MS Excel ou software dedicado
## em formato eletrônico, por exemplo, MS Excel ou software dedicado                                                                           NA
## em papel, por exemplo, anotando-os em um caderno, mantendo recibos e faturas                                                        0.79977528
## eu acompanho os registros financeiros na minha cabeça                                                                               0.10949501
## eu não costumo acompanhar                                                                                                           0.44947132
## não sei responder                                                                                                                   0.10883933
## não tenho interesse em responder                                                                                                    0.01494013
## outra pessoa faz isso por mim, por exemplo, o contador                                                                              0.26207476
##                                                                              em papel, por exemplo, anotando-os em um caderno, mantendo recibos e faturas
## em formato eletrônico, por exemplo, MS Excel ou software dedicado                                                                                      NA
## em papel, por exemplo, anotando-os em um caderno, mantendo recibos e faturas                                                                           NA
## eu acompanho os registros financeiros na minha cabeça                                                                                          0.12996507
## eu não costumo acompanhar                                                                                                                      0.54927145
## não sei responder                                                                                                                              0.19042284
## não tenho interesse em responder                                                                                                               0.01662945
## outra pessoa faz isso por mim, por exemplo, o contador                                                                                         0.41763151
##                                                                              eu acompanho os registros financeiros na minha cabeça
## em formato eletrônico, por exemplo, MS Excel ou software dedicado                                                               NA
## em papel, por exemplo, anotando-os em um caderno, mantendo recibos e faturas                                                    NA
## eu acompanho os registros financeiros na minha cabeça                                                                           NA
## eu não costumo acompanhar                                                                                               0.12814656
## não sei responder                                                                                                       0.47950012
## não tenho interesse em responder                                                                                        0.06780828
## outra pessoa faz isso por mim, por exemplo, o contador                                                                  0.47950012
##                                                                              eu não costumo acompanhar
## em formato eletrônico, por exemplo, MS Excel ou software dedicado                                   NA
## em papel, por exemplo, anotando-os em um caderno, mantendo recibos e faturas                        NA
## eu acompanho os registros financeiros na minha cabeça                                               NA
## eu não costumo acompanhar                                                                           NA
## não sei responder                                                                            0.6170751
## não tenho interesse em responder                                                             0.2099270
## outra pessoa faz isso por mim, por exemplo, o contador                                       1.0000000
##                                                                              não sei responder
## em formato eletrônico, por exemplo, MS Excel ou software dedicado                           NA
## em papel, por exemplo, anotando-os em um caderno, mantendo recibos e faturas                NA
## eu acompanho os registros financeiros na minha cabeça                                       NA
## eu não costumo acompanhar                                                                   NA
## não sei responder                                                                           NA
## não tenho interesse em responder                                                             1
## outra pessoa faz isso por mim, por exemplo, o contador                                       1
##                                                                              não tenho interesse em responder
## em formato eletrônico, por exemplo, MS Excel ou software dedicado                                          NA
## em papel, por exemplo, anotando-os em um caderno, mantendo recibos e faturas                               NA
## eu acompanho os registros financeiros na minha cabeça                                                      NA
## eu não costumo acompanhar                                                                                  NA
## não sei responder                                                                                          NA
## não tenho interesse em responder                                                                           NA
## outra pessoa faz isso por mim, por exemplo, o contador                                              0.7518296
kruskal.test(dataxx$nivel, dataxx$COL37)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$nivel and dataxx$COL37
## Kruskal-Wallis chi-squared = 13.745, df = 7, p-value = 0.0559
chisq.test(dataxx$nivel, dataxx$COL37)
## Warning in chisq.test(dataxx$nivel, dataxx$COL37): Aproximação do qui-quadrado
## pode estar incorreta
## 
##  Pearson's Chi-squared test
## 
## data:  dataxx$nivel and dataxx$COL37
## X-squared = 62.164, df = 35, p-value = 0.003143
kruskal.test(dataxx$alfa, dataxx$COL37)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$COL37
## Kruskal-Wallis chi-squared = 10.098, df = 7, p-value = 0.1831
fisher.test(dataxx$alfa, dataxx$COL37)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$alfa and dataxx$COL37
## p-value = 0.2943
## alternative hypothesis: two.sided
dataxx %>% 
  group_by(COL37) %>%
  get_summary_stats(nivel) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
## Warning: There were 2 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning:
## ! There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning in `stats::qt()`:
## ! NaNs produzidos
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
dataxx %>% 
  group_by(COL37) %>%
  get_summary_stats(alfa) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
## Warning: There were 2 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning:
## ! There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning in `stats::qt()`:
## ! NaNs produzidos
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
# em formato eletrônico, por exemplo, MS Excel ou software dedicado e em papel, por exemplo, anotando-os em um caderno, mantendo recibos e faturas somam  n = 42, onde possuem mediana de nivel de alfabetização financeira de 3, contrastando níveis de alfabetização menores (outra pessoa faz isso por mim, por exemplo, o contador, de outra forma etc.)
# Teste de Hipótese
# H7: Comportamentos empresariais relacionados à resiliência financeira estão associados ao nível de alfabetização financeira;

## H7 1: Escala likert para a afirmação: "Eu acompanho a lucratividade do negócio regularmente."

shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
# Aplicar teste de normalidade(dataxx$alfa
# Aplicar teste de normalidade(dataxx$H7_1)

p9 <-ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL40),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira")

p9
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

pairwise.wilcox.test(dataxx$nivel, dataxx$COL40, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##                       concordo parcialmente concordo totalmente
## concordo totalmente               0.3483248                  NA
## discordo parcialmente             0.4386726           0.1841685
## discordo totalmente               0.3172825           0.7219774
## indiferente                       0.7413141           0.4429127
##                       discordo parcialmente discordo totalmente
## concordo totalmente                      NA                  NA
## discordo parcialmente                    NA                  NA
## discordo totalmente               0.1967056                  NA
## indiferente                       1.0000000           0.5584522
kruskal.test(dataxx$nivel, dataxx$COL40)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$nivel and dataxx$COL40
## Kruskal-Wallis chi-squared = 3.3241, df = 4, p-value = 0.5051
chisq.test(dataxx$nivel, dataxx$COL40)
## Warning in chisq.test(dataxx$nivel, dataxx$COL40): Aproximação do qui-quadrado
## pode estar incorreta
## 
##  Pearson's Chi-squared test
## 
## data:  dataxx$nivel and dataxx$COL40
## X-squared = 18.502, df = 20, p-value = 0.5544
kruskal.test(dataxx$alfa, dataxx$COL40)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$COL40
## Kruskal-Wallis chi-squared = 3.0072, df = 4, p-value = 0.5566
fisher.test(dataxx$alfa, dataxx$COL40)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$alfa and dataxx$COL40
## p-value = 0.7251
## alternative hypothesis: two.sided
dataxx %>% 
  group_by(COL40) %>%
  get_summary_stats(nivel) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
dataxx %>% 
  group_by(COL40) %>%
  get_summary_stats(alfa) %>% 
  dplyr::select(1,2,n,median,min,max,q1,q3)
# Teste de Hipótese
#   H7: Comportamentos empresariais relacionados à resiliência financeira estão associados ao nível de alfabetização financeira;

## H7 2: Escala likert para a afirmação: "Mantenho dados e informações seguras sobre a minha empresa." 

shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
# Aplicar teste de normalidade(dataxx$alfa
# Aplicar teste de normalidade(dataxx$H7_2)


p10<-ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL41),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira")

p10
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

pairwise.wilcox.test(dataxx$nivel, dataxx$COL41, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##                       concordo parcialmente concordo totalmente
## concordo totalmente               0.4918655                  NA
## discordo parcialmente             0.6477165           0.2762606
## discordo totalmente               0.6625882           0.7304754
## indiferente                       0.1007217           0.1624606
##                       discordo parcialmente discordo totalmente
## concordo totalmente                      NA                  NA
## discordo parcialmente                    NA                  NA
## discordo totalmente               0.1674578                  NA
## indiferente                       0.1098014           0.3661566
kruskal.test(dataxx$nivel, dataxx$COL41)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$nivel and dataxx$COL41
## Kruskal-Wallis chi-squared = 4.4621, df = 4, p-value = 0.3471
chisq.test(dataxx$nivel, dataxx$COL41)
## Warning in chisq.test(dataxx$nivel, dataxx$COL41): Aproximação do qui-quadrado
## pode estar incorreta
## 
##  Pearson's Chi-squared test
## 
## data:  dataxx$nivel and dataxx$COL41
## X-squared = 19.144, df = 20, p-value = 0.5125
kruskal.test(dataxx$alfa, dataxx$COL41)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$COL41
## Kruskal-Wallis chi-squared = 5.1661, df = 4, p-value = 0.2707
fisher.test(dataxx$alfa, dataxx$COL41)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$alfa and dataxx$COL41
## p-value = 0.2865
## alternative hypothesis: two.sided
dataxx %>% 
  group_by(COL41) %>%
  get_summary_stats(nivel)
# Teste de Hipótese
# H7: Comportamentos empresariais relacionados à resiliência financeira estão associados ao nível de alfabetização financeira;

## H7 3: "Comparo o custo de diferentes fontes de financiamento para o negócio."  

shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
# Aplicar teste de normalidade(dataxx$alfa
# Aplicar teste de normalidade(dataxx$H7_3)


p11<-ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL42),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira")

p11
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

pairwise.wilcox.test(dataxx$nivel, dataxx$COL42, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##                       concordo parcialmente concordo totalmente
## concordo totalmente               0.3344388                  NA
## discordo parcialmente             0.9562547           0.3200452
## discordo totalmente               0.3824738           0.9009264
## indiferente                       0.9104320           0.3913721
##                       discordo parcialmente discordo totalmente
## concordo totalmente                      NA                  NA
## discordo parcialmente                    NA                  NA
## discordo totalmente               0.3528967                  NA
## indiferente                       0.9456761           0.4557312
kruskal.test(dataxx$nivel, dataxx$COL42)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$nivel and dataxx$COL42
## Kruskal-Wallis chi-squared = 2.2715, df = 4, p-value = 0.686
chisq.test(dataxx$nivel, dataxx$COL42)
## Warning in chisq.test(dataxx$nivel, dataxx$COL42): Aproximação do qui-quadrado
## pode estar incorreta
## 
##  Pearson's Chi-squared test
## 
## data:  dataxx$nivel and dataxx$COL42
## X-squared = 14.976, df = 20, p-value = 0.7778
kruskal.test(dataxx$alfa, dataxx$COL42)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$COL42
## Kruskal-Wallis chi-squared = 1.4753, df = 4, p-value = 0.831
fisher.test(dataxx$alfa, dataxx$COL42)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$alfa and dataxx$COL42
## p-value = 0.9666
## alternative hypothesis: two.sided
dataxx %>% 
  group_by(COL42) %>%
  get_summary_stats(nivel)
# Teste de Hipótese
# H7 - Comportamentos empresariais relacionados à resiliência financeira estão associados ao nível de alfabetização financeira;

## H7 4: "Eu ajusto meu planejamento de acordo com as mudanças nos fatores econômicos e outros fatores externos, como o clima (desastres climáticos), pandemias e demais stakeholders (concorrentes, clientes, fornecedores) no mercado de atuação." 

shapiro.test(dataxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxx$nivel
## W = 0.9276, p-value = 0.001573
# Aplicar teste de normalidade(dataxx$alfa
# Aplicar teste de normalidade(dataxx$H7_4)


p12<-ggplot()+
  geom_histogram(data=dataxx,aes(x=nivel,fill=COL43),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira")

p12
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

pairwise.wilcox.test(dataxx$nivel, dataxx$COL43, p.adjust.method="none",data=dataxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##                       concordo parcialmente Concordo totalmente
## Concordo totalmente               0.4708476                  NA
## discordo parcialmente             0.7685992           0.7695994
## discordo totalmente               0.3881985           0.1718166
## indiferente                       0.7076969           0.2431240
##                       discordo parcialmente discordo totalmente
## Concordo totalmente                      NA                  NA
## discordo parcialmente                    NA                  NA
## discordo totalmente               0.2915458                  NA
## indiferente                       0.5015700           0.5415661
kruskal.test(dataxx$nivel, dataxx$COL43)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$nivel and dataxx$COL43
## Kruskal-Wallis chi-squared = 2.9625, df = 4, p-value = 0.5641
chisq.test(dataxx$nivel, dataxx$COL43)
## Warning in chisq.test(dataxx$nivel, dataxx$COL43): Aproximação do qui-quadrado
## pode estar incorreta
## 
##  Pearson's Chi-squared test
## 
## data:  dataxx$nivel and dataxx$COL43
## X-squared = 12.129, df = 20, p-value = 0.9116
kruskal.test(dataxx$alfa, dataxx$COL43)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxx$alfa and dataxx$COL43
## Kruskal-Wallis chi-squared = 4.658, df = 4, p-value = 0.3242
fisher.test(dataxx$alfa, dataxx$COL43)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxx$alfa and dataxx$COL43
## p-value = 0.389
## alternative hypothesis: two.sided
dataxx %>% 
  group_by(COL43) %>%
  get_summary_stats(nivel)
shapiro.test(as.numeric(dataxx$alfa))
## 
##  Shapiro-Wilk normality test
## 
## data:  as.numeric(dataxx$alfa)
## W = 0.50769, p-value = 6.959e-13
shapiro.test(dataxxx$nivel)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxxx$nivel
## W = 0.92844, p-value = 1.892e-06
shapiro.test(dataxxx$COL35xx)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataxxx$COL35xx
## W = 0.69682, p-value = 1.614e-15
# Teste de Hipótese
#H8: A utilização de produtos e serviços financeiros está associada ao nível de alfabetização financeira;

##Porque usou dataxxx? Ele apresenta distribuição diferente de dataxx

#Aplicar testes de normalidade

p13<-ggplot()+
  geom_histogram(data=dataxxx,aes(x=nivel,fill=COL35x),position = "dodge")+
  labs(x="Nível de Alfabetização Financeira")


p13
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

pairwise.wilcox.test(dataxxx$nivel, dataxxx$COL35x, p.adjust.method="none",data=dataxxx)$p.value
## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate

## Warning in wilcox.test.default(xi, xj, paired = paired, ...): não é possível
## computar o valor de p exato com o de desempate
##                             crédito investimento curto prazo
## investimento curto prazo  0.2109027                       NA
## investimentos longo prazo 0.7261528                0.4248437
## recebíveis                0.2368010                0.9250345
## seguros                   0.3980826                0.9024359
##                           investimentos longo prazo recebíveis
## investimento curto prazo                         NA         NA
## investimentos longo prazo                        NA         NA
## recebíveis                                0.4392720         NA
## seguros                                   0.4690217  0.9661314
dataxxx <- dataxxx %>% mutate(alfa = case_when(nivel>3 ~ 1,
                                               T ~0))

kruskal.test(dataxxx$nivel, dataxxx$COL35x)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxxx$nivel and dataxxx$COL35x
## Kruskal-Wallis chi-squared = 3.1601, df = 4, p-value = 0.5314
chisq.test(dataxxx$nivel, dataxxx$COL35x)
## Warning in chisq.test(dataxxx$nivel, dataxxx$COL35x): Aproximação do
## qui-quadrado pode estar incorreta
## 
##  Pearson's Chi-squared test
## 
## data:  dataxxx$nivel and dataxxx$COL35x
## X-squared = 16.179, df = 20, p-value = 0.7054
kruskal.test(dataxxx$alfa, dataxxx$COL35x)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  dataxxx$alfa and dataxxx$COL35x
## Kruskal-Wallis chi-squared = 4.7451, df = 4, p-value = 0.3145
fisher.test(dataxxx$alfa, dataxxx$COL35x)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dataxxx$alfa and dataxxx$COL35x
## p-value = 0.3798
## alternative hypothesis: two.sided
dataxxx %>% 
  group_by(COL35x) %>%
  get_summary_stats(nivel)
# CLUSTER
datax <- read_excel("C:/Users/Ligia/OneDrive/Área de Trabalho/ANALISE_DE_DADOS_LIGIA/analise_ligia/database.xlsx") %>% 
  mutate(alfabetizado = case_when(alfabetizado == "sim" ~ 1, T~ 0)) %>% 
  mutate(sexo = case_when(COL4 == "Masculino" ~ 1, T ~ 0)) %>%
  mutate(ID = seq(length(sexo))) %>% 
  mutate(credito = case_when(
    str_detect(COL35, "capital de giro") ~ 1,
    str_detect(COL35, "cheque especial") ~ 1,
    str_detect(COL35, "cartão de crédito") ~ 1,
    TRUE ~ 0
  )) |> 
  mutate(recebiveis = case_when(
    str_detect(COL35, "cobrança (boleto bancário)") ~ 1,
    str_detect(COL35, "custódia e desconto de cheque") ~ 1,
    str_detect(COL35, "antecipação de recebíveis (agenda de cartões de crédito e de boletos)") ~ 1,
    TRUE ~ 0  
  )) |> 
  mutate(investimento_curto_prazo = case_when(
    str_detect(COL35, "título de capitalização") ~ 1,
    str_detect(COL35, "Aplicação em CDB") ~ 1,
    str_detect(COL35, "poupança") ~ 1,
    TRUE ~ 0 
  )) |> 
  mutate(seguros = case_when(
    str_detect(COL35, "seguro de vida") ~ 1,
    str_detect(COL35, "seguro de veículo") ~ 1,
    TRUE ~ 0 
  )) |> 
  mutate(investimento_longo_prazo = case_when(
    str_detect(COL35, "previdência complementar aberta") ~ 1,
    str_detect(COL35, "Aplicação em Letra de Crédito (LCI e LCA)") ~ 1,
    TRUE ~ 0  
  )) %>% 
  mutate(idade = COL3) %>% 
dplyr::select(ID,alfabetizado,sexo,credito,recebiveis,investimento_curto_prazo,seguros,investimento_longo_prazo,idade) 

kmeans(datax %>% dplyr::select(alfabetizado,sexo,credito,recebiveis,investimento_curto_prazo,seguros,investimento_longo_prazo,idade), 6, nstart = 25)
## K-means clustering with 6 clusters of sizes 17, 10, 16, 5, 4, 8
## 
## Cluster means:
##   alfabetizado      sexo   credito recebiveis investimento_curto_prazo
## 1    0.2352941 0.5294118 0.8823529  0.1764706                0.2352941
## 2    0.2000000 0.7000000 0.8000000  0.2000000                0.4000000
## 3    0.2500000 0.5625000 0.8125000  0.0000000                0.2500000
## 4    0.4000000 0.4000000 0.4000000  0.0000000                0.4000000
## 5    0.0000000 0.5000000 1.0000000  0.2500000                0.2500000
## 6    0.1250000 0.3750000 0.7500000  0.1250000                0.2500000
##     seguros investimento_longo_prazo    idade
## 1 0.2352941                   0.0000 34.76471
## 2 0.1000000                   0.0000 49.20000
## 3 0.0625000                   0.0625 41.87500
## 4 0.0000000                   0.0000 62.20000
## 5 0.0000000                   0.0000 23.50000
## 6 0.2500000                   0.0000 29.12500
## 
## Clustering vector:
##  [1] 6 1 3 6 3 2 1 1 1 1 1 1 4 4 3 1 4 4 5 3 1 1 1 5 1 6 3 3 3 3 1 3 3 2 2 2 3 6
## [39] 3 1 1 5 2 6 1 3 6 3 2 3 5 6 3 2 1 6 2 4 2 2
## 
## Within cluster sum of squares by cluster:
## [1] 42.70588 67.80000 74.00000 79.60000 11.50000 25.00000
##  (between_SS / total_SS =  95.1 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
kmeans(datax %>% dplyr::select(credito,recebiveis,investimento_curto_prazo,seguros,investimento_longo_prazo),6, nstart = 25)
## K-means clustering with 6 clusters of sizes 7, 33, 6, 5, 4, 5
## 
## Cluster means:
##   credito recebiveis investimento_curto_prazo   seguros
## 1       0        0.0                        1 0.0000000
## 2       1        0.0                        0 0.0000000
## 3       1        0.0                        1 0.1666667
## 4       0        0.2                        0 0.4000000
## 5       1        1.0                        1 0.0000000
## 6       1        0.4                        0 1.0000000
##   investimento_longo_prazo
## 1                0.0000000
## 2                0.0000000
## 3                0.1666667
## 4                0.0000000
## 5                0.0000000
## 6                0.0000000
## 
## Clustering vector:
##  [1] 2 2 2 2 2 5 6 5 2 3 6 1 4 1 2 6 2 1 2 1 2 2 2 2 2 4 2 3 2 2 2 2 1 3 4 2 2 4
## [39] 2 1 6 5 2 6 2 2 3 2 3 1 2 2 2 4 2 3 2 2 5 2
## 
## Within cluster sum of squares by cluster:
## [1] 0.000000 0.000000 1.666667 2.000000 0.000000 1.200000
##  (between_SS / total_SS =  86.4 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
kmeans(datax %>% filter(alfabetizado == 0) %>% dplyr::select(credito,recebiveis,investimento_curto_prazo,seguros,investimento_longo_prazo),5, nstart = 25)
## K-means clustering with 5 clusters of sizes 5, 5, 26, 7, 4
## 
## Cluster means:
##   credito recebiveis investimento_curto_prazo seguros investimento_longo_prazo
## 1       0  0.2000000                      0.0     0.4                      0.0
## 2       1  0.2000000                      0.2     1.0                      0.2
## 3       1  0.0000000                      0.0     0.0                      0.0
## 4       1  0.4285714                      1.0     0.0                      0.0
## 5       0  0.0000000                      1.0     0.0                      0.0
## 
## Clustering vector:
##  [1] 3 3 2 4 3 4 5 1 3 2 3 3 3 3 3 1 3 2 3 3 3 5 4 1 3 3 1 3 5 2 4 3 2 3 4 3 5 3
## [39] 3 3 1 3 4 3 3 4 3
## 
## Within cluster sum of squares by cluster:
## [1] 2.000000 2.400000 0.000000 1.714286 0.000000
##  (between_SS / total_SS =  77.9 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
kmeans(datax %>% filter(alfabetizado == 1) %>% dplyr::select(credito,recebiveis,investimento_curto_prazo,seguros,investimento_longo_prazo),5, nstart = 25)
## K-means clustering with 5 clusters of sizes 7, 1, 3, 1, 1
## 
## Cluster means:
##   credito recebiveis investimento_curto_prazo seguros investimento_longo_prazo
## 1       1          0                        0       0                        0
## 2       1          0                        1       0                        0
## 3       0          0                        1       0                        0
## 4       1          1                        0       1                        0
## 5       1          1                        1       0                        0
## 
## Clustering vector:
##  [1] 1 1 1 5 4 3 3 3 1 1 1 1 2
## 
## Within cluster sum of squares by cluster:
## [1] 0 0 0 0 0
##  (between_SS / total_SS = 100.0 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
## Correlação Spearmann, Regressão Logística Binária e PCA

library(tidyverse)
library(magrittr)
library(patchwork)
library(readxl)
library(writexl)
library(dplyr)
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.2.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(FactoMineR)
## Warning: package 'FactoMineR' was built under R version 4.2.3
library(ggcorrplot)
## Warning: package 'ggcorrplot' was built under R version 4.2.3
## 
## Attaching package: 'ggcorrplot'
## The following object is masked from 'package:rstatix':
## 
##     cor_pmat
library(corrr)
## Warning: package 'corrr' was built under R version 4.2.3
library(pscl)
## Warning: package 'pscl' was built under R version 4.2.3
## Classes and Methods for R originally developed in the
## Political Science Computational Laboratory
## Department of Political Science
## Stanford University (2002-2015),
## by and under the direction of Simon Jackman.
## hurdle and zeroinfl functions by Achim Zeileis.
library(car)
## Warning: package 'car' was built under R version 4.2.3
## Carregando pacotes exigidos: carData
## Warning: package 'carData' was built under R version 4.2.3
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
## The following object is masked from 'package:purrr':
## 
##     some
library(ResourceSelection)
## Warning: package 'ResourceSelection' was built under R version 4.2.3
## ResourceSelection 0.3-6   2023-06-27
data_variaveis_sign <- read_excel("C:/Users/Ligia/OneDrive/Área de Trabalho/ANALISE_DE_DADOS_LIGIA/analise_ligia/database.xlsx") %>% 
  mutate(nivel = COL15_cat+COL16_cat+COL17_cat+COL18_cat+COL19_cat+COL20_cat) %>% 
  mutate(alfa = case_when(alfabetizado == "não" ~ 0,T~1)) %>%
  mutate(CAT_idade = case_when(COL3 <25 ~ 0,
                               COL3 >=25 & COL3 <45 ~ 1,
                               COL3 >=45 & COL3 <65 ~ 2,
                               COL3 >=65 ~ 3)) %>% 
  mutate(educa = case_when(COL6 == "ensino fundamental (1° grau) incompleto" ~ 0,
                           COL6 == "ensino fundamental (1°grau) completo" ~ 1, 
                           COL6 == "ensino médio (2° grau) incompleto" ~ 2, 
                           COL6 == "ensino médio (2° grau) completo" ~ 3, 
                           COL6 == "ensino superior incompleto" ~ 4, 
                           COL6 == "ensino superior completo" ~ 5, 
                           COL6 == "pós graduação completa" ~ 6)) %>% 
  mutate(H6_1 = case_when(COL34 == "mantenho contas correntes distintas para finanças pessoais e empresariais, mas enfrento dificuldades em gerenciá-las de forma separada" ~ 3,
                         COL34 == "gerencio as contas correntes, empresarial e pessoal, com total separação" ~ 4,
                         COL34 == "utilizo uma única conta corrente para gerir tanto as finanças pessoais quanto as empresariais" ~ 2,
                         COL34 == "não tenho interesse em responder" ~ 1,
                         COL34 == "não sei responder" ~ 0)) %>% 
  mutate(H6_2 = case_when(COL36 == "analisei diversas alternativas de diferentes instituições financeiras antes de finalizar minha escolha" ~ 4,
                         COL36 == "analisei as diversas alternativas oferecidas por uma única instituição financeira antes de decidir" ~ 3,
                         COL36 == "optei pela primeira proposta que me foi apresentada, sem avaliar outras instituições financeiras" ~ 2,
                         COL36 == "não tenho interesse em responde" ~ 1,
                         COL36 == "não sei responder" ~ 0)) %>% 
  mutate(H6_3 = case_when(COL37 == "em formato eletrônico, por exemplo, MS Excel ou software dedicado" ~ 7,
                          COL37 == "outra pessoa faz isso por mim, por exemplo, o contador" ~ 6,
                          COL37 == "em papel, por exemplo, anotando-os em um caderno, mantendo recibos e faturas" ~ 5,
                          COL37 == "eu acompanho os registros financeiros na minha cabeça" ~ 4,
                          COL37 == "de outra forma" ~ 3,
                          COL37 == "eu não costumo acompanhar" ~ 2,
                          COL37 == "não tenho interesse em responde" ~ 1,
                          COL37 == "não sei responder" ~ 0)) %>% 
  mutate(sexo = case_when(COL4 == "Masculino" ~ 1, T ~ 0)) %>%
  mutate(ID = seq(length(sexo))) %>% 
  mutate(credito = case_when(
    str_detect(COL35, "capital de giro") ~ 1,
    str_detect(COL35, "cheque especial") ~ 1,
    str_detect(COL35, "cartão de crédito") ~ 1,
    TRUE ~ 0
  )) |> 
  mutate(recebiveis = case_when(
    str_detect(COL35, "cobrança (boleto bancário)") ~ 1,
    str_detect(COL35, "custódia e desconto de cheque") ~ 1,
    str_detect(COL35, "antecipação de recebíveis (agenda de cartões de crédito e de boletos)") ~ 1,
    TRUE ~ 0  
  )) |> 
  mutate(investimento_curto_prazo = case_when(
    str_detect(COL35, "título de capitalização") ~ 1,
    str_detect(COL35, "Aplicação em CDB") ~ 1,
    str_detect(COL35, "poupança") ~ 1,
    TRUE ~ 0 
  )) |> 
  mutate(seguros = case_when(
    str_detect(COL35, "seguro de vida") ~ 1,
    str_detect(COL35, "seguro de veículo") ~ 1,
    TRUE ~ 0 
  )) |> 
  mutate(investimento_longo_prazo = case_when(
    str_detect(COL35, "previdência complementar aberta") ~ 1,
    str_detect(COL35, "Aplicação em Letra de Crédito (LCI e LCA)") ~ 1,
    TRUE ~ 0  
  )) %>% 
  dplyr::select(nivel,alfa,CAT_idade,educa,H6_1,H6_2,H6_3,sexo,credito,recebiveis,investimento_curto_prazo,seguros,investimento_longo_prazo) %>% drop_na()


modelo_logistico <- glm(alfa ~ CAT_idade + educa + H6_1 + H6_2 + H6_3 + sexo + credito + recebiveis + investimento_curto_prazo + seguros + investimento_longo_prazo,
                        data = data_variaveis_sign, family = binomial())
summary(modelo_logistico)
## 
## Call:
## glm(formula = alfa ~ CAT_idade + educa + H6_1 + H6_2 + H6_3 + 
##     sexo + credito + recebiveis + investimento_curto_prazo + 
##     seguros + investimento_longo_prazo, family = binomial(), 
##     data = data_variaveis_sign)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -1.59461  -0.66415  -0.32061  -0.06139   2.05252  
## 
## Coefficients:
##                            Estimate Std. Error z value Pr(>|z|)  
## (Intercept)                -6.91548    3.03048  -2.282   0.0225 *
## CAT_idade                   1.64381    0.79665   2.063   0.0391 *
## educa                       0.79809    0.32038   2.491   0.0127 *
## H6_1                        0.51116    0.46175   1.107   0.2683  
## H6_2                       -0.39471    0.32648  -1.209   0.2267  
## H6_3                       -0.06326    0.29114  -0.217   0.8280  
## sexo                       -0.10035    0.78451  -0.128   0.8982  
## credito                     1.35478    1.13342   1.195   0.2320  
## recebiveis                  0.43512    1.12756   0.386   0.6996  
## investimento_curto_prazo   -0.13467    1.00389  -0.134   0.8933  
## seguros                    -0.59478    1.36115  -0.437   0.6621  
## investimento_longo_prazo  -14.34706 2399.54539  -0.006   0.9952  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 60.154  on 54  degrees of freedom
## Residual deviance: 45.977  on 43  degrees of freedom
## AIC: 69.977
## 
## Number of Fisher Scoring iterations: 15
## Apesar das hipótese H6_1, H6_2 e H6_3 derem significativas nos teste de hipóteses, as mesmas variáveis não significativas no modelo de predição - regressão logística família binomial.

summary(modelo_logistico)
## 
## Call:
## glm(formula = alfa ~ CAT_idade + educa + H6_1 + H6_2 + H6_3 + 
##     sexo + credito + recebiveis + investimento_curto_prazo + 
##     seguros + investimento_longo_prazo, family = binomial(), 
##     data = data_variaveis_sign)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -1.59461  -0.66415  -0.32061  -0.06139   2.05252  
## 
## Coefficients:
##                            Estimate Std. Error z value Pr(>|z|)  
## (Intercept)                -6.91548    3.03048  -2.282   0.0225 *
## CAT_idade                   1.64381    0.79665   2.063   0.0391 *
## educa                       0.79809    0.32038   2.491   0.0127 *
## H6_1                        0.51116    0.46175   1.107   0.2683  
## H6_2                       -0.39471    0.32648  -1.209   0.2267  
## H6_3                       -0.06326    0.29114  -0.217   0.8280  
## sexo                       -0.10035    0.78451  -0.128   0.8982  
## credito                     1.35478    1.13342   1.195   0.2320  
## recebiveis                  0.43512    1.12756   0.386   0.6996  
## investimento_curto_prazo   -0.13467    1.00389  -0.134   0.8933  
## seguros                    -0.59478    1.36115  -0.437   0.6621  
## investimento_longo_prazo  -14.34706 2399.54539  -0.006   0.9952  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 60.154  on 54  degrees of freedom
## Residual deviance: 45.977  on 43  degrees of freedom
## AIC: 69.977
## 
## Number of Fisher Scoring iterations: 15
corr_matrix <- cor(data_variaveis_sign %>% dplyr::select(-alfa),method = "spearman")
ggcorrplot(corr_matrix,type = "upper",lab = T,)

#Durante a análise do modelo de regressão logística voltado para explorar os fatores que influenciam a alfabetização, foram enfrentados desafios com a variável investimento_longo_prazo. O coeficiente desta variável apresentou alta variabilidade e valores extremamente negativos. Mesmo assim, decidiu-se manter a variável sem modificações adicionais para preservar a integridade metodológica, apesar das limitações observadas.


## Análise de multicolinearidade entre as variáveis preditoras 
vif(modelo_logistico)
##                CAT_idade                    educa                     H6_1 
##                 1.586210                 1.651643                 1.244177 
##                     H6_2                     H6_3                     sexo 
##                 1.733812                 1.317461                 1.152716 
##                  credito               recebiveis investimento_curto_prazo 
##                 1.670191                 1.323303                 1.748419 
##                  seguros investimento_longo_prazo 
##                 1.204308                 1.000001
# Na análise de regressão logística, a multicolinearidade entre as variáveis preditoras pode comprometer a interpretação dos coeficientes do modelo, levando a estimativas instáveis e inflacionadas. Para investigar a presença de multicolinearidade, realizou-se o teste de Fator de Inflação de Variância (VIF) para cada variável preditora no modelo. Os resultados obtidos mostraram valores de VIF que variam de 1.00 para "Investimento Longo Prazo" a 1.59 para "Investimento Curto Prazo", indicando que não há evidências de multicolinearidade preocupante, uma vez que todos os valores são significativamente inferiores ao limiar comum de 5. 
# Este resultado sugere que cada variável preditora contribui com informações únicas para o modelo, sem redundância significativa entre elas. Portanto, pode-se prosseguir com a interpretação dos coeficientes do modelo com confiança, uma vez que a multicolinearidade não é uma preocupação.

## Teste de Hosmer-Lemeshow: Este teste verifica a bondade de ajuste do modelo. Um resultado significativo (p < 0.05) sugere que o modelo não se ajusta bem aos dados.

hoslem.test(modelo_logistico$y, fitted(modelo_logistico))
## 
##  Hosmer and Lemeshow goodness of fit (GOF) test
## 
## data:  modelo_logistico$y, fitted(modelo_logistico)
## X-squared = 4.7502, df = 8, p-value = 0.7839
#O teste de bondade de ajuste de Hosmer e Lemeshow foi realizado para avaliar a adequação do modelo de regressão logística. Este teste específico é utilizado para determinar se existe uma diferença significativa entre as frequências observadas e as frequências esperadas em grupos definidos de probabilidade predita. Os resultados obtidos foram: qui-quadrado (X-squared) = 4.3474 com 8 graus de liberdade e um valor-p de 0.7839.

#A interpretação desses resultados sugere que não há evidência estatística para rejeitar a hipótese nula, indicando que o modelo possui um bom ajuste. Um valor-p alto (maior que 0.05) no teste de Hosmer e Lemeshow implica que as diferenças entre os valores observados e os valores previstos pelo modelo são pequenas e que o modelo se ajusta adequadamente aos dados. Isso significa que o modelo é apropriado para os dados analisados e pode ser considerado bem especificado dentro das limitações do teste.

#Este teste é fundamental para validar a aplicabilidade do modelo de regressão logística, assegurando que as previsões geradas estão em conformidade com as observações reais, o que reforça a confiabilidade das inferências estatísticas obtidas através deste modelo.


## Calcular pseudo R-squared
pseudo_r_squared <- pR2(modelo_logistico)
## fitting null model for pseudo-r2
print(pseudo_r_squared)
##         llh     llhNull          G2    McFadden        r2ML        r2CU 
## -22.9885172 -30.0768596  14.1766848   0.2356743   0.2272177   0.3416671
#Os resultados do pseudo R-squared para o modelo de regressão logística fornecem medidas importantes sobre o ajuste do modelo. Estas medidas incluem o R-squared de McFadden, Cox and Snell R-squared e Nagelkerke R-squared, que oferecem diferentes perspectivas sobre a qualidade do ajuste do modelo em relação ao modelo nulo (um modelo que não inclui nenhuma variável independente além do intercepto).

#Log-likelihood do Modelo (llh): O log-likelihood do modelo ajustado é -25.6452, enquanto o Log-likelihood do Modelo Nulo (llhNull) é -31.3594. A diferença entre esses valores reflete o quanto o modelo completo melhora o ajuste em comparação ao modelo nulo.

#McFadden’s R-squared: Este valor é 0.1822, indicando que aproximadamente 18.22% da variabilidade na variável dependente é explicada pelas variáveis independentes no modelo. McFadden’s R-squared é uma medida conservadora e indica uma melhora moderada sobre o modelo nulo.

#Cox and Snell R-squared: Calculado como 0.1734, este índice sugere que cerca de 17.34% da variância é explicada pelo modelo. Como o Cox and Snell R-squared nunca atinge o máximo de 1, mesmo em um ajuste perfeito, ele fornece uma estimativa mais conservadora do ajuste do modelo.

#Nagelkerke R-squared: Este ajuste do Cox and Snell R-squared normaliza o valor máximo para 1 e é 0.2675 para este modelo. Isso implica que o modelo explica cerca de 26.75% da variabilidade da variável resposta, oferecendo uma interpretação mais otimista e comparável ao R-squared tradicional usado em regressões lineares.

# Essas métricas de pseudo R-squared complementam outras estatísticas de diagnóstico do modelo, indicando um ajuste razoável do modelo à variável dependente.


## PCA (Análise de Componentes Principais)
data.pca <- princomp(corr_matrix)
summary(data.pca)
## Importance of components:
##                           Comp.1    Comp.2    Comp.3    Comp.4    Comp.5
## Standard deviation     0.5653764 0.4929555 0.3571652 0.3366733 0.2888453
## Proportion of Variance 0.2871584 0.2183039 0.1146000 0.1018271 0.0749509
## Cumulative Proportion  0.2871584 0.5054622 0.6200622 0.7218893 0.7968402
##                           Comp.6     Comp.7     Comp.8    Comp.9    Comp.10
## Standard deviation     0.2712010 0.23575627 0.22508856 0.1531240 0.12510293
## Proportion of Variance 0.0660737 0.04993127 0.04551483 0.0210636 0.01405986
## Cumulative Proportion  0.8629139 0.91284515 0.95835998 0.9794236 0.99348344
##                            Comp.11 Comp.12
## Standard deviation     0.085169899       0
## Proportion of Variance 0.006516559       0
## Cumulative Proportion  1.000000000       1
fviz_eig(data.pca, addlabels = TRUE)

fviz_pca_var(data.pca, col.var = "black")

#fviz_cos2(data.pca, choice = "var", axes = 1:2)


# Regressão logística é um modelo de machine learning - aprendizado de máquina, onde o modelo de predição tem o interesse de classificar a variável resposta (alfabetizado financeiramente - sim ou não) com as variáveis preditoras que assumem importância na predição (nível de educação, idade, sexo, entre outras,...).


ggcorrplot(corr_matrix,type = "upper",lab = T,title="Correlação de Spearman",colors = c("#f03535","white","#51adbd"))

## PCA (Análise de Componentes Principais)
data.pca <- princomp(corr_matrix)
summary(data.pca)
## Importance of components:
##                           Comp.1    Comp.2    Comp.3    Comp.4    Comp.5
## Standard deviation     0.5653764 0.4929555 0.3571652 0.3366733 0.2888453
## Proportion of Variance 0.2871584 0.2183039 0.1146000 0.1018271 0.0749509
## Cumulative Proportion  0.2871584 0.5054622 0.6200622 0.7218893 0.7968402
##                           Comp.6     Comp.7     Comp.8    Comp.9    Comp.10
## Standard deviation     0.2712010 0.23575627 0.22508856 0.1531240 0.12510293
## Proportion of Variance 0.0660737 0.04993127 0.04551483 0.0210636 0.01405986
## Cumulative Proportion  0.8629139 0.91284515 0.95835998 0.9794236 0.99348344
##                            Comp.11 Comp.12
## Standard deviation     0.085169899       0
## Proportion of Variance 0.006516559       0
## Cumulative Proportion  1.000000000       1
fviz_eig(data.pca, addlabels = TRUE)

fviz_pca_var(data.pca, col.var = "black")

#fviz_cos2(data.pca, choice = "var", axes = 1:2)
## Todos os pacotes usados na Dissertação: Alfabetização e serviços bancários - Aluna: Lígia M. Ribeiro.

citation('stats')
## 
## The 'stats' package is part of R.  To cite R in publications use:
## 
##   R Core Team (2022). R: A language and environment for statistical
##   computing. R Foundation for Statistical Computing, Vienna, Austria.
##   URL https://www.R-project.org/.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {R: A Language and Environment for Statistical Computing},
##     author = {{R Core Team}},
##     organization = {R Foundation for Statistical Computing},
##     address = {Vienna, Austria},
##     year = {2022},
##     url = {https://www.R-project.org/},
##   }
## 
## We have invested a lot of time and effort in creating R, please cite it
## when using it for data analysis. See also 'citation("pkgname")' for
## citing R packages.
citation('tidyverse')
## 
## To cite package 'tidyverse' in publications use:
## 
##   Wickham H, Averick M, Bryan J, Chang W, McGowan LD, François R,
##   Grolemund G, Hayes A, Henry L, Hester J, Kuhn M, Pedersen TL, Miller
##   E, Bache SM, Müller K, Ooms J, Robinson D, Seidel DP, Spinu V,
##   Takahashi K, Vaughan D, Wilke C, Woo K, Yutani H (2019). "Welcome to
##   the tidyverse." _Journal of Open Source Software_, *4*(43), 1686.
##   doi:10.21105/joss.01686 <https://doi.org/10.21105/joss.01686>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Article{,
##     title = {Welcome to the {tidyverse}},
##     author = {Hadley Wickham and Mara Averick and Jennifer Bryan and Winston Chang and Lucy D'Agostino McGowan and Romain François and Garrett Grolemund and Alex Hayes and Lionel Henry and Jim Hester and Max Kuhn and Thomas Lin Pedersen and Evan Miller and Stephan Milton Bache and Kirill Müller and Jeroen Ooms and David Robinson and Dana Paige Seidel and Vitalie Spinu and Kohske Takahashi and Davis Vaughan and Claus Wilke and Kara Woo and Hiroaki Yutani},
##     year = {2019},
##     journal = {Journal of Open Source Software},
##     volume = {4},
##     number = {43},
##     pages = {1686},
##     doi = {10.21105/joss.01686},
##   }
citation('tidyverse')
## 
## To cite package 'tidyverse' in publications use:
## 
##   Wickham H, Averick M, Bryan J, Chang W, McGowan LD, François R,
##   Grolemund G, Hayes A, Henry L, Hester J, Kuhn M, Pedersen TL, Miller
##   E, Bache SM, Müller K, Ooms J, Robinson D, Seidel DP, Spinu V,
##   Takahashi K, Vaughan D, Wilke C, Woo K, Yutani H (2019). "Welcome to
##   the tidyverse." _Journal of Open Source Software_, *4*(43), 1686.
##   doi:10.21105/joss.01686 <https://doi.org/10.21105/joss.01686>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Article{,
##     title = {Welcome to the {tidyverse}},
##     author = {Hadley Wickham and Mara Averick and Jennifer Bryan and Winston Chang and Lucy D'Agostino McGowan and Romain François and Garrett Grolemund and Alex Hayes and Lionel Henry and Jim Hester and Max Kuhn and Thomas Lin Pedersen and Evan Miller and Stephan Milton Bache and Kirill Müller and Jeroen Ooms and David Robinson and Dana Paige Seidel and Vitalie Spinu and Kohske Takahashi and Davis Vaughan and Claus Wilke and Kara Woo and Hiroaki Yutani},
##     year = {2019},
##     journal = {Journal of Open Source Software},
##     volume = {4},
##     number = {43},
##     pages = {1686},
##     doi = {10.21105/joss.01686},
##   }
citation('magrittr')
## 
## To cite package 'magrittr' in publications use:
## 
##   Bache S, Wickham H (2022). _magrittr: A Forward-Pipe Operator for R_.
##   R package version 2.0.3,
##   <https://CRAN.R-project.org/package=magrittr>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {magrittr: A Forward-Pipe Operator for R},
##     author = {Stefan Milton Bache and Hadley Wickham},
##     year = {2022},
##     note = {R package version 2.0.3},
##     url = {https://CRAN.R-project.org/package=magrittr},
##   }
citation('patchwork')
## 
## To cite package 'patchwork' in publications use:
## 
##   Pedersen T (2023). _patchwork: The Composer of Plots_. R package
##   version 1.1.3, <https://CRAN.R-project.org/package=patchwork>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {patchwork: The Composer of Plots},
##     author = {Thomas Lin Pedersen},
##     year = {2023},
##     note = {R package version 1.1.3},
##     url = {https://CRAN.R-project.org/package=patchwork},
##   }
citation('readxl')
## 
## To cite package 'readxl' in publications use:
## 
##   Wickham H, Bryan J (2023). _readxl: Read Excel Files_. R package
##   version 1.4.2, <https://CRAN.R-project.org/package=readxl>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {readxl: Read Excel Files},
##     author = {Hadley Wickham and Jennifer Bryan},
##     year = {2023},
##     note = {R package version 1.4.2},
##     url = {https://CRAN.R-project.org/package=readxl},
##   }
citation('writexl')
## 
## To cite package 'writexl' in publications use:
## 
##   Ooms J (2023). _writexl: Export Data Frames to Excel 'xlsx' Format_.
##   R package version 1.4.2,
##   <https://CRAN.R-project.org/package=writexl>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {writexl: Export Data Frames to Excel 'xlsx' Format},
##     author = {Jeroen Ooms},
##     year = {2023},
##     note = {R package version 1.4.2},
##     url = {https://CRAN.R-project.org/package=writexl},
##   }
citation('dplyr')
## 
## To cite package 'dplyr' in publications use:
## 
##   Wickham H, François R, Henry L, Müller K, Vaughan D (2023). _dplyr: A
##   Grammar of Data Manipulation_. R package version 1.1.2,
##   <https://CRAN.R-project.org/package=dplyr>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {dplyr: A Grammar of Data Manipulation},
##     author = {Hadley Wickham and Romain François and Lionel Henry and Kirill Müller and Davis Vaughan},
##     year = {2023},
##     note = {R package version 1.1.2},
##     url = {https://CRAN.R-project.org/package=dplyr},
##   }
citation('factoextra')
## 
## To cite package 'factoextra' in publications use:
## 
##   Kassambara A, Mundt F (2020). _factoextra: Extract and Visualize the
##   Results of Multivariate Data Analyses_. R package version 1.0.7,
##   <https://CRAN.R-project.org/package=factoextra>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {factoextra: Extract and Visualize the Results of Multivariate Data Analyses},
##     author = {Alboukadel Kassambara and Fabian Mundt},
##     year = {2020},
##     note = {R package version 1.0.7},
##     url = {https://CRAN.R-project.org/package=factoextra},
##   }
citation('FactoMineR')
## 
## To cite FactoMineR in publications use:
## 
##   Sebastien Le, Julie Josse, Francois Husson (2008). FactoMineR: An R
##   Package for Multivariate Analysis. Journal of Statistical Software,
##   25(1), 1-18. 10.18637/jss.v025.i01
## 
## A BibTeX entry for LaTeX users is
## 
##   @Article{,
##     title = {{FactoMineR}: A Package for Multivariate Analysis},
##     author = {S\'ebastien L\^e and Julie Josse and Fran\c{c}ois Husson},
##     journal = {Journal of Statistical Software},
##     year = {2008},
##     volume = {25},
##     number = {1},
##     pages = {1--18},
##     doi = {10.18637/jss.v025.i01},
##   }
citation('ggcorrplot')
## 
## To cite package 'ggcorrplot' in publications use:
## 
##   Kassambara A (2023). _ggcorrplot: Visualization of a Correlation
##   Matrix using 'ggplot2'_. R package version 0.1.4.1,
##   <https://CRAN.R-project.org/package=ggcorrplot>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {ggcorrplot: Visualization of a Correlation Matrix using 'ggplot2'},
##     author = {Alboukadel Kassambara},
##     year = {2023},
##     note = {R package version 0.1.4.1},
##     url = {https://CRAN.R-project.org/package=ggcorrplot},
##   }
citation('corrr')
## 
## To cite package 'corrr' in publications use:
## 
##   Kuhn M, Jackson S, Cimentada J (2022). _corrr: Correlations in R_. R
##   package version 0.4.4, <https://CRAN.R-project.org/package=corrr>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {corrr: Correlations in R},
##     author = {Max Kuhn and Simon Jackson and Jorge Cimentada},
##     year = {2022},
##     note = {R package version 0.4.4},
##     url = {https://CRAN.R-project.org/package=corrr},
##   }
citation('pscl')
## 
## To cite pscl/ideal in publications use
## 
##   Simon Jackman (2024). pscl: Classes and Methods for R Developed in
##   the Political Science Computational Laboratory. Sydney, Australia. R
##   package version 1.5.9. URL https://github.com/atahk/pscl/
## 
## If count data regression models zeroinfl()/hurdle() are used, please
## cite:
## 
##   Achim Zeileis, Christian Kleiber, Simon Jackman (2008). Regression
##   Models for Count Data in R. Journal of Statistical Software 27(8).
##   URL http://www.jstatsoft.org/v27/i08/.
## 
## To see these entries in BibTeX format, use 'print(<citation>,
## bibtex=TRUE)', 'toBibtex(.)', or set
## 'options(citation.bibtex.max=999)'.
citation('car')
## 
## To cite the car package in publications use:
## 
##   Fox J, Weisberg S (2019). _An R Companion to Applied Regression_,
##   Third edition. Sage, Thousand Oaks CA.
##   <https://socialsciences.mcmaster.ca/jfox/Books/Companion/>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Book{,
##     title = {An {R} Companion to Applied Regression},
##     edition = {Third},
##     author = {John Fox and Sanford Weisberg},
##     year = {2019},
##     publisher = {Sage},
##     address = {Thousand Oaks {CA}},
##     url = {https://socialsciences.mcmaster.ca/jfox/Books/Companion/},
##   }
citation('ResourceSelection')
## 
## To cite package 'ResourceSelection' in publications use:
## 
##   Lele SR, Keim JL, Solymos P (2023). _ResourceSelection: Resource
##   Selection (Probability) Functions for Use-Availability Data_. R
##   package version 0.3-6,
##   <https://CRAN.R-project.org/package=ResourceSelection>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {ResourceSelection: Resource Selection (Probability) Functions for Use-Availability
## Data},
##     author = {Subhash R. Lele and Jonah L. Keim and Peter Solymos},
##     year = {2023},
##     note = {R package version 0.3-6},
##     url = {https://CRAN.R-project.org/package=ResourceSelection},
##   }
citation ('ggplot2')
## 
## To cite ggplot2 in publications, please use
## 
##   H. Wickham. ggplot2: Elegant Graphics for Data Analysis.
##   Springer-Verlag New York, 2016.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Book{,
##     author = {Hadley Wickham},
##     title = {ggplot2: Elegant Graphics for Data Analysis},
##     publisher = {Springer-Verlag New York},
##     year = {2016},
##     isbn = {978-3-319-24277-4},
##     url = {https://ggplot2.tidyverse.org},
##   }