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)
## 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