GABARITO DA ATIVIDADE

IMPORTAÇÃO DOS DADOS

Nesta etapa, são importados os dados retirados da pesquisa realizada no google forms e, portanto, um arquivo csv para o R. Com esta finalidade são utilizados os seguintes pacotes de importação:

  • Pacote: readr (pacote de importação de arquivos para o R);
    • Função: read_csv (função de importação de arquivo csv).
  • Pacote: janitor (pacote de limpeza de dados);
    • Função: clean_names (função de padronização dos nomes das colunas)
# IMPORTAÇÃO DE DADOS:
dados <- readr::read_csv("dados_ifsuldeminas.csv")

# PADRONIZAÇÃO DOS NOMES DAS COLUNAS:
dados <- janitor::clean_names(dados) 

Como visto nas últimas aulas, vocês já poderão filtrar os dados de acordo com a amostra que será realizada na dissertação. Abaixo deixo o exemplo de como realizar este filtro. Em todos os exemplos, o “pacote” tidyverse (na realizade é um conjunto de pacotes) é utilizado para se realizar o filtro a partir da função filter (ele também permite a utilização do comando “%>%”).

  • Para o caso de Discentes:
# IMPORTAÇÃO DE DADOS:
dados <- readr::read_csv("dados_ifsuldeminas.csv")

# PADRONIZAÇÃO DOS NOMES DAS COLUNAS:
dados <- janitor::clean_names(dados) 

# INCLUINDO FILTRO NA AMOSRTA:
library(tidyverse)

dados_discentes <- dados %>% 
  filter(qual_o_seu_vinculo_com_a_comunidade_academica_do_ifsuldeminas == 'discente (aluno/aluna de curso superior)')
  • Para o caso de Servidores:
# IMPORTAÇÃO DE DADOS:
dados <- readr::read_csv("dados_ifsuldeminas.csv")

# PADRONIZAÇÃO DOS NOMES DAS COLUNAS:
dados <- janitor::clean_names(dados) 

# INCLUINDO FILTRO NA AMOSRTA:
library(tidyverse)

dados_servidores <- dados %>% 
  filter(qual_o_seu_vinculo_com_a_comunidade_academica_do_ifsuldeminas == 'servidor(a) técnico administrativo em educação')
  • Para o caso de Docentes:
# IMPORTAÇÃO DE DADOS:
dados <- readr::read_csv("dados_ifsuldeminas.csv")

# PADRONIZAÇÃO DOS NOMES DAS COLUNAS:
dados <- janitor::clean_names(dados) 

# INCLUINDO FILTRO NA AMOSRTA:
library(tidyverse)

dados_docentes <- dados %>% 
  filter(qual_o_seu_vinculo_com_a_comunidade_academica_do_ifsuldeminas == 'servidor(a) docente')

Aproveite para relembrar que temos duas formas de utilizar a função de um pacote. Ou define-se o pacote e a função como, por exemplo, readr::read_csv(“dados_ifsuldeminas.csv”). Ou deve-se carregar o pacote com o comando library como, por exemplo, library(tidyverse) e, na sequência, utiliza-se as funções do pacote carregado. Ressalta-se é necessário carregar o pacote em um chunk, não em todos.

GABARITO DA ATIVIDADE DE ANÁLISE DESCRITIVA

library(tidyverse)

alfabetizacao <- dados %>% 
  select(suponha_que_nos_proximos_10_anos_os_precos_dos_itens_que_voce_compra_regularmente_dobrem_de_preco_se_o_seu_rendimento_tambem_dobrar_voce_comprara,
         voce_precisa_tomar_emprestado_r_100_00_qual_a_menor_quantia_que_voce_deve_devolver_ao_credor,
         considere_que_voce_tem_r_100_00_em_uma_conta_poupanca_e_o_banco_paga_juros_de_10_percent_ao_ano_se_voce_nao_movimentar_essa_conta_nao_fizer_depositos_ou_retiradas_quanto_voce_tera_na_mesma_conta_de_poupanca_apos_5_cinco_anos,
         um_banco_pagou_juros_de_10_percent_ao_ano_para_sua_conta_de_poupanca_e_no_mesmo_ano_a_inflacao_foi_de_15_percent_apos_deixar_o_seu_dinheiro_naquela_poupanca_por_um_ano_pode_se_afirmar_que_voce_seria_capaz_de_comprar,
         quando_voce_contrata_um_seguro_voce_esta_procurando,
         considere_que_voce_possui_algum_dinheiro_para_realizar_investimento_e_mais_seguro_investir_em)

colnames(alfabetizacao) <- c('pergunta_1',
                             'pergunta_2',
                             'pergunta_3',
                             'pergunta_4',
                             'pergunta_5',
                             'pergunta_6')

alfabetizacao <- alfabetizacao %>% 
  mutate(pergunta_1 = ifelse(pergunta_1 == '... o mesmo que você pode comprar hoje', 1, 0),
         pergunta_2 = ifelse(pergunta_2 == 'os R$ 100,00 mais os juros contratados', 1,0),
         pergunta_3 = ifelse(pergunta_3 == 'mais de R$ 150,00', 1,0),
         pergunta_4 = ifelse(pergunta_4 == '... menos que compro hoje', 1,0),
         pergunta_5 = ifelse(pergunta_5 == '... transferir para terceiros o risco de um eventual imprevisto (sinistro)', 1,0),
         pergunta_6 = ifelse(pergunta_6 == '... vários ativos (em mais de um tipo de aplicação, negócio, empresa, imóvel ou ação)', 1,0)) %>% 
  mutate(nivel_de_alfabetizacao = pergunta_1 + 
           pergunta_2 + 
           pergunta_3 + 
           pergunta_4 + 
           pergunta_5 + 
           pergunta_6)
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.2.3
## 
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
## 
##     combine
# CRIAÇÃO DA TABELA DE IDADE
dados_idades <- dados %>% 
  select(hoje_tenho_a_seguinte_idade)

colnames(dados_idades) <- c('idades')

dados_idades <- bind_cols(dados_idades, alfabetizacao)

dados_idades <- dados_idades %>% 
  mutate(alfabetizado = ifelse(nivel_de_alfabetizacao >= 4, 
                               'Alfabetizado', 
                               'Não Alfabetizado')) %>% 
  drop_na()

# PRIMEIRO GRÁFICO: sociodemográfico

# Primeira Camada
g1 <- ggplot(dados_idades) +
# Segunda Camada
  geom_bar(mapping = aes(x = idades),
           stat = 'count',
           color = '#000000',
           fill = '#63c169') + 
  # Terceira Camada
  labs(title = 'A',
       x = 'Idade dos Respondentes',
       y = 'Frequência') +
# Quarta Camada
  theme_get()

# SEGUNDO GRÁFICO: Relação de Idade e Nível de Alfabetização
# Primeira Camada
g2 <- ggplot(dados_idades) + 
# Segunda Camada
  geom_boxplot(mapping = aes(x = alfabetizado, y = idades),
               color = '#000000', 
               fill = '#63c169') +
  # Terceira Camada 
  labs(title = 'B',
       x = 'Nível de Alfabetização',
       y = 'Idades') + 

# Quarta Camada
  theme_get() 

# ARRANJO DE GRÁFICOS:
grid.arrange(g1, g2, nrow = 1, ncol = 2)

library(gridExtra)

# CRIAÇÃO DA TABELA DE IDADE
dados_genero <- dados %>% 
  select(sou_do_sexo) %>% 
  mutate(sou_do_sexo = case_when(sou_do_sexo == 'feminino' ~ 'Feminino',
                                 sou_do_sexo == 'masculino' ~ 'Masculino',
                                 sou_do_sexo == 'prefiro não informar' ~ 'Prefiro não Informar'))

colnames(dados_genero) <- c('genero')

dados_genero <- bind_cols(dados_genero, alfabetizacao)

dados_genero <- dados_genero %>% 
  mutate(alfabetizado = ifelse(nivel_de_alfabetizacao >= 4, 
                               'Alfabetizado', 
                               'Não Alfabetizado')) 

dados_genero_org <- dados_genero %>% 
  select(genero) %>% 
  table() %>% 
  as_data_frame() %>% 
  mutate(prop = round(n/sum(n)*100, 2)) %>% 
  mutate(genero = fct_reorder(genero, n)) %>% 
  filter(genero != 'Prefiro não Informar')
## Warning: `as_data_frame()` was deprecated in tibble 2.0.0.
## ℹ Please use `as_tibble()` (with slightly different semantics) to convert to a
##   tibble, or `as.data.frame()` to convert to a data frame.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
dados_genero_tabela <- dados_genero %>% 
  select(genero, alfabetizado) %>% 
  table() %>% 
  as_data_frame() %>% 
  mutate(prop = round(n/sum(n)*100,2)) %>% 
  filter(genero != 'Prefiro não Informar')


# PRIMEIRO GRÁFICO: sociodemográfico

# Primeira Camada
g1 <- ggplot(dados_genero_org) +
# Segunda Camada
  geom_col(mapping = aes(x = genero, y = prop),
           color = '#000000',
           fill = '#63c169') + 
  
  geom_label(mapping = aes(x = genero, y = prop, 
                           label = scales::number(prop, 
                                                  decimal.mark = ',',
                                                  suffix = '%')),
             color = '#000000',
             fill = '#63c169',
             vjust = - 0.2) + 
  # Terceira Camada
  labs(title = 'A',
       x = 'Frequência (%)',
       y = '') +
# Quarta Camada
  scale_y_continuous(limits = c(0,100)) +
  
  theme_get()

# SEGUNDO GRÁFICO: Relação de Gênero e Nível de Alfabetização
# Primeira Camada
g2 <- ggplot(dados_genero_tabela) + 
# Segunda Camada
  geom_col(mapping = aes(x = alfabetizado, y = prop, fill = genero),
           position = 'dodge',
           color = '#000000') +
  
  geom_label(mapping = aes(x = alfabetizado, y = prop, fill = genero, 
                           label = scales::number(prop, 
                                                  decimal.mark = ',',
                                                  suffix = '%')),
             position = position_dodge(0.9),
             color = '#000000',
             vjust = - 0.2) + 
# Terceira Camada 
  labs(title = 'B',
       x = '',
       y = 'Frequência (%)', 
       fill = '') + 
  
  scale_fill_manual(values = c('#63c169',
                               '#0064d2',
                               '#a1afa0')) + 
# Quarta Camada
  theme_get() +
  
  scale_y_continuous(limits = c(0,100)) +
  
  theme(legend.position = 'bottom') 

# ARRANJO DE GRÁFICOS:
grid.arrange(g1, g2, nrow = 1, ncol = 2)

ANÁLISE DE CORRELAÇÃO

# IMPORTAÇÃO DE DADOS:
dados <- readr::read_csv("dados_ifsuldeminas.csv")

# PADRONIZAÇÃO DOS NOMES DAS COLUNAS:
dados <- janitor::clean_names(dados) 

# CRIAÇÃO DA TABELA DE ALFABETIZAÇÃO FINANCEIRA:
library(tidyverse)

alfabetizacao <- dados %>% 
  select(suponha_que_nos_proximos_10_anos_os_precos_dos_itens_que_voce_compra_regularmente_dobrem_de_preco_se_o_seu_rendimento_tambem_dobrar_voce_comprara,
         voce_precisa_tomar_emprestado_r_100_00_qual_a_menor_quantia_que_voce_deve_devolver_ao_credor,
         considere_que_voce_tem_r_100_00_em_uma_conta_poupanca_e_o_banco_paga_juros_de_10_percent_ao_ano_se_voce_nao_movimentar_essa_conta_nao_fizer_depositos_ou_retiradas_quanto_voce_tera_na_mesma_conta_de_poupanca_apos_5_cinco_anos,
         um_banco_pagou_juros_de_10_percent_ao_ano_para_sua_conta_de_poupanca_e_no_mesmo_ano_a_inflacao_foi_de_15_percent_apos_deixar_o_seu_dinheiro_naquela_poupanca_por_um_ano_pode_se_afirmar_que_voce_seria_capaz_de_comprar,
         quando_voce_contrata_um_seguro_voce_esta_procurando,
         considere_que_voce_possui_algum_dinheiro_para_realizar_investimento_e_mais_seguro_investir_em)

colnames(alfabetizacao) <- c('pergunta_1',
                             'pergunta_2',
                             'pergunta_3',
                             'pergunta_4',
                             'pergunta_5',
                             'pergunta_6')

alfabetizacao <- alfabetizacao %>% 
  mutate(pergunta_1 = ifelse(pergunta_1 == '... o mesmo que você pode comprar hoje', 1, 0),
         pergunta_2 = ifelse(pergunta_2 == 'os R$ 100,00 mais os juros contratados', 1,0),
         pergunta_3 = ifelse(pergunta_3 == 'mais de R$ 150,00', 1,0),
         pergunta_4 = ifelse(pergunta_4 == '... menos que compro hoje', 1,0),
         pergunta_5 = ifelse(pergunta_5 == '... transferir para terceiros o risco de um eventual imprevisto (sinistro)', 1,0),
         pergunta_6 = ifelse(pergunta_6 == '... vários ativos (em mais de um tipo de aplicação, negócio, empresa, imóvel ou ação)', 1,0)) %>% 
  mutate(nivel_de_alfabetizacao = pergunta_1 + 
           pergunta_2 + 
           pergunta_3 + 
           pergunta_4 + 
           pergunta_5 + 
           pergunta_6)

comportamento <- dados %>% 
  select(realizo_compras_a_prazo_com_frequencia_ou_seja_compro_a_prazo_pelo_menos_uma_vez_por_mes,
         sempre_que_compro_a_vista_peco_desconto,
         mensalmente_guardo_uma_parte_da_minha_renda_media_individual_para_eventualidades,
         parte_da_minha_renda_media_mensal_individual_eu_uso_para_contratar_seguro_de_bens_que_possuo_como_por_exemplo_carro_casa_vida_aluguel_etc,
         uso_parte_da_minha_renda_media_mensal_individual_para_contribuir_com_um_plano_de_previdencia_complementar_previdencia_privada_ou_complementar,
         eu_faco_investimentos_com_parte_da_minha_renda_media_mensal_individual)

colnames(comportamento) <- c('compra_a_prazo', 'peco_desconto',
                             'poupanca_de_seguranca', 'contrato_seguros',
                             'previdencia_complementar', 'faco_investimentos')

idade <- dados %>% 
  select(hoje_tenho_a_seguinte_idade)

colnames(idade) <- c('idade')

alfabetizacao_comportamento_idade <- alfabetizacao %>% 
  select(nivel_de_alfabetizacao) %>% 
  bind_cols(comportamento, idade) %>% 
  drop_na()

library(Hmisc)
library(corrplot)

correlacao_numerica <- cor(alfabetizacao_comportamento_idade)
corrplot(correlacao_numerica, 
         method = 'color', 
         type = 'upper',
         addCoef.col = 'black', 
         insig = 'blank', 
         diag = FALSE)

ANÁLISE DE REGRESSÃO

# RODANDO A REGRESSÃO:

equacao <- lm(nivel_de_alfabetizacao ~ ., 
              data = alfabetizacao_comportamento_idade)

# ANÁLISE DE RESULTADOS:
summary(equacao)
## 
## Call:
## lm(formula = nivel_de_alfabetizacao ~ ., data = alfabetizacao_comportamento_idade)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.8280 -1.0347  0.0742  1.0427  3.9595 
## 
## Coefficients:
##                           Estimate Std. Error t value Pr(>|t|)    
## (Intercept)               0.982859   0.193622   5.076 4.58e-07 ***
## compra_a_prazo            0.104184   0.030116   3.459 0.000564 ***
## peco_desconto             0.054573   0.033221   1.643 0.100751    
## poupanca_de_seguranca     0.071443   0.035679   2.002 0.045507 *  
## contrato_seguros          0.052112   0.032583   1.599 0.110051    
## previdencia_complementar -0.057096   0.035499  -1.608 0.108062    
## faco_investimentos        0.193174   0.037418   5.163 2.93e-07 ***
## idade                     0.025484   0.004167   6.115 1.38e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.442 on 1014 degrees of freedom
## Multiple R-squared:  0.1493, Adjusted R-squared:  0.1435 
## F-statistic: 25.43 on 7 and 1014 DF,  p-value: < 2.2e-16