Introdução a Método Computacionais para as Ciências Sociais: Exercício 4
Introduções.
Seguimos com nossas instruções.
Entrega dos exercícios até sexta-feira, meia noite.
Entrega com documento em formato pdf.
Entrega via slack.
Divirtam-se.
Banco de dados
Neste exercícios, usaremos mais uma vez o pacote do cepesp para baixar dados eleitorais do Brasil. Portanto, rode o código abaixo para fazer o download dos bancos de dados.
Estamos utilizando os dados de candidatos e de declaração de bens. Ambos no nível do Rio de Janeiro.
# instale caso você não tenha o pacote.
# if (!require("devtools")) install.packages("devtools")
# devtools::install_github("Cepesp-Fgv/cepesp-r")
library(cepespR)
library(tidyverse)
# Banco Votos Deputado
candidatos <- get_candidates(year=2018, position="Federal Deputy") %>%
as_tibble()
# Banco Bens Candidatos
bens <- get_assets(year = 2018, state = "RJ") %>%
as_tibble()
Questão 1.
Usando o banco bens.
- Agregue o banco de dados e crie um novo banco com a soma do valor dos bens declarados por candidato.
bens <- bens %>%
mutate(VALOR_BEM=str_remove_all(VALOR_BEM, "\\."),
VALOR_BEM=str_replace_all(VALOR_BEM, ",", "\\."))
# responda aqui.
bens_agg <- bens %>%
group_by(SIGLA_UF, CODIGO_CARGO, DESCRICAO_CARGO, NUMERO_CANDIDATO, CPF_CANDIDATO)%>%
summarise(bens_total=sum(parse_number(VALOR_BEM))) %>%
filter(CODIGO_CARGO==6)
- Faça um merge entre o banco de candidatos e o seu nome banco de bens declarados
# responda aqui.
join_banco <- left_join(candidatos, bens_agg, by=c("SIGLA_UF", "CODIGO_CARGO",
"NUMERO_CANDIDATO",
"CPF_CANDIDATO")) %>%
filter(SIGLA_UF=="RJ")
Questão 2
Usando este novo banco, responda:
- Qual candidato declarou mais bens?
# responda aqui.
join_banco %>% arrange(desc(bens_total)) %>%
select(bens_total, NOME_URNA_CANDIDATO)
- Qual partido possui em números absolutos maior declaração de bens?
# responda aqui
join_banco %>%
group_by(NUMERO_PARTIDO) %>%
summarise(total_pt=sum(bens_total, na.rm = TRUE)) %>%
arrange(desc(total_pt))
- Quem declara mais bens, homens ou mulheres?
join_banco %>%
group_by(DESCRICAO_SEXO) %>%
summarise(total_pt=sum(bens_total, na.rm = TRUE))
Questão 2
Usando o banco de dados billboard do pacote tidyr
, responda:
library(tidyr)
construction
# responda aqui
- Este banco de dados está no formato tidy? Sim ou não? E porquê?
Não. Uma variável espalhada em diversas colunas.
- Caso você responda que este banco de dados não está no formato tidy, use
pivot_longer()
para converter este banco de dados para tidy.
# Dica: A solução mais intuitiva irá usar pivot_longer duas vezes.
construction %>%
pivot_longer(cols=contains("unit"),
names_to="units",
values_to="units_value") %>%
pivot_longer(cols=3:6,
names_to="region",
values_to="region_values")
# Responda
Ponto Extra
Para ganhar pontos extras, use as funções do tidyr para converter o banco de dados fishencounters abaixo para um banco no formato aberto (wide) onde a coluna station será aberta em um conjunto de variáveis dummies (valores iguais a zero ou um)
fish_encounters
fish_encounters %>%
pivot_wider(names_from = "station",
values_from="seen",
values_fill=0)
# responda aqui