Skip to content

Instantly share code, notes, and snippets.

@pmarkun
Created December 3, 2020 00:56
Show Gist options
  • Save pmarkun/9ec517da420a389138627aa9b7605e19 to your computer and use it in GitHub Desktop.
Save pmarkun/9ec517da420a389138627aa9b7605e19 to your computer and use it in GitHub Desktop.
library(data.table)
library(dplyr)
library(tidyr)
# Lê os arquivos de candidatos das diferentes eleições.
# Os arquivo estão disponíveis no repositório do tse -> https://www.tse.jus.br/eleicoes/estatisticas/repositorio-de-dados-eleitorais-1/repositorio-de-dados-eleitorais
# Onde esta o "~/devel/blablabla" você troca pelo lugar onde o arquivo esta salvo no seu computador.
# O parametro "sep" é para definir o separador, que no caso dos arquivos do TSE é ;
# O parametro encoding é a codificação dos acentos (isso esta detalhado no PDF que vem junto com os arquivos)
candidatos2020 <- fread("~/devel/datasets/eleicoes/2020/candidatos/consulta_cand_2020_BRASIL.csv", sep=";", encoding="Latin-1") %>%
mutate(NR_CPF_CANDIDATO=as.character(NR_CPF_CANDIDATO))
candidatos2018 <- fread("~/devel/datasets/eleicoes/2018/candidatos/consulta_cand_2018_BRASIL.csv", sep=";", encoding = "Latin-1") %>%
mutate(NR_CPF_CANDIDATO=as.character(NR_CPF_CANDIDATO))
candidatos2016 <- fread("~/devel/datasets/eleicoes/2016/candidatos/consulta_cand_2016_BRASIL.csv", sep=";", encoding = "Latin-1") %>%
mutate(NR_CPF_CANDIDATO=as.character(NR_CPF_CANDIDATO))
# Lista com as cidades que queremos
CIDADES <- c('APARECIDA DE GOIÂNIA', 'CAÇU', 'CAVALCANTE', 'FORMOSA', 'GOIÂNIA',
'GOIÁS', 'INHUMAS', 'ITABERAÍ', 'PIRENÓPOLIS', 'SENADOR CANEDO', 'TRINDADE', 'VALPARAÍSO DE GOIÁS')
# Filtra pelas cidades que queremos
# Conecta com a tabela de 2018 pelo CPF do Candidato
# Conceta com a tabela de 2016 pelo CPF do Candidato
# Renomeia a coluna de 2020 para manter a consistência
# Cria uma coluna com 1 caso a candidata não tenha participado em 2016 e 2018 e 0 caso tenha
candidatos <- candidatos2020 %>%
filter(NM_UE %in% CIDADES, SG_UF=='GO') %>%
left_join(select(candidatos2018, SG_PARTIDO, NR_CPF_CANDIDATO), by=c('NR_CPF_CANDIDATO'), suffix=c('_2020','_2018')) %>%
left_join(select(candidatos2016, SG_PARTIDO, NR_CPF_CANDIDATO), by=c('NR_CPF_CANDIDATO')) %>%
rename(SG_PARTIDO_2016=SG_PARTIDO) %>%
mutate(PRIMEIRA=ifelse(is.na(SG_PARTIDO_2016) & is.na(SG_PARTIDO_2018),1,0))
# Grava o arquivo csv
write.csv(candidatos, file="~/devel/eleicoes/primeiravez.csv")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment