electionsBR: uma nova versão (0.2.0)

Um pacote no R para baixar e limpar ainda mais dados eleitorais do TSE

13 Dec 2016 por Fernando Meireles


Obter dados eleitorais no Brasil nunca foi uma tarefa das mais fáceis. Quem já precisou fazer isso provavelmente sabe o tamanho do problema: baixar diversos arquivos, deszipá-los, abrir um a um os arquivos brutos, limpar e arrumar os dados, juntar tudo, exportar, e por aí vai. Foi com isso na cabeça que o Denisson, a Beatriz e eu lançamos, nos idos de agosto, o electionsBR - um pacote para baixar e limpar estes dados automaticamente, direto do Repositório de Dados Eleitorais do TSE. Passado algum tempo, e depois dos diversos feedbacks que recebemos, lançamos agora uma nova versão do electionsBR, já disponível no CRAN[1]: a 0.2.0.

Resumidamente, além de todas as funcionalidades existentes na versão anterior (era possível baixar quase todos os dados disponíveis do TSE e armazená-los em objetos na memória no R em segundos; para saber mais sobre a versão anterior, clique aqui), ampliamos a cobertura dela com diversos reparos e acréscimos. Destes, três se destacam:

  1. Novas funções - Incluímos duas novas funções, voter_affiliation e voter_profile, que coletam e limpam dados de filiação e de perfil demográfico dos(as) eleitores(as), respectivamente. Com elas, é possível saber, por exemplo, quantos(as) filiados(as) um partido possui em cada estado; nome, sexo, data de filiação e situação cadastral destes(as) filiados(as); o número de eleitores(as) registrados(as) em cada eleição desde 1998; além do sexo, faixa etária e grau de escolaridade dos(as) votantes. No R, basta digitar ?voter_affiliation, ou ?voter_profile, para acessar a documentação completa destas funções.

  2. Controle de acentos - Seguindo uma sugestão dada pelo Robert McDonnel, adicionamos um argumento chamado ascii em todas as funções. Basicamente, este remove acentos das informações do TSE - o que pode ser útil para computadores que não têm suporte para acentos latinos ou evitar erros em algumas operações com strings (comparar nomes, por exemplo). Para remover acentos, só é necessário usar ascii = TRUE.

  3. Inclusão das eleições de 2016 - Agora também é possível obter os dados eleitorais das eleições municipais de 2016 pelo pacote (esta atualização, na verdade, já havia sido feito na versão beta, disponível no GitHub, por boa sugestão do Guilherme Duarte). Todas as funções que coletam dados de eleições municipais (como candidate_local ou legend_local, por exemplo) aceitam esta opção: o usuário precisa apenas passar 2016 para o argumento year destas funções (e.g., legend_local(year = 2016)).

Tudo isto para que o electionsBR dê mais opções ao usuário: qual dado eleitoral ele quer (agora, sim, o pacote cobre quase todos os dados); como ele quer as informações (com ou sem acentos) e para qual período (incluso as eleições de 2016).

Outras novidades

Além destas três melhorias, também alteramos outros aspectos do electionsBR. Em primeiro lugar, corrigimos alguns problemas no código da versão anterior que geravam erros. Em segundo lugar, e em parte por causa dessas correções, também tivemos de modificar a documentação técnica do pacote para registrar as alterações feitas; nesta nova versão, portanto, mais detalhes passaram a ser abordados na documentação oficial do pacote (disponível neste link). Por fim, removemos algumas funções internas (i.e. menos confusão para os usuários) e deixamos todas as funções externas mais flexíveis (é possível, por exemplo, customizar o encoding dos dados do TSE; para isso, basta definir o argumento, como enconding = "UTF-8", ou enconding = "windows-1252").

Apesar destas mudanças, contudo, o funcionamento do pacote permanece o mesmo. Para baixar dados eleitorais, tanto com a versão anterior quanto com essa, só é necessário carregar o pacote numa sessão do R e chamar a função desejada. Um mini-exemplo:

# Instala a nova versao do electionsBR
install.packages("electionsBR")

# Carrega o pacote
library("electionsBR")

# Baixa dados de filiacao individuais do PT no estado de Sao Paulo
x <- voter_affiliation(party = "PT", uf = "SP")

# Baixa os mesmos dados, agora sem acentos nas informacoes textuais
x <- voter_affiliation(party = "PT", uf = "SP", ascii = TRUE)

# Baixa dados de filiacao individuais do PT e do PSDB nos estados de Minas Gerais e Bahia
x <- voter_affiliation(party = c("PT", "PSDB"), uf = c("MG", "BA"))

O electionsBR

Para quem descobriu o pacote agora e/ou quer saber mais, segue abaixo uma lista de outros exemplos e tutoriais de como usá-lo:

Para publicações que usam o pacote, esta última fonte, o paper, pode ser citada. É possível obter a referência dela, tanto em texto já formatado quanto em BibTeX, pela função citation. Exemplo:

# Gera a informacao bibliografica para citar o electionsBR
citation("electionsBR")
## 
## To cite electionsBR in publications, please use:
## 
##   Meireles, F.; Silva, D.; Costa, B. (2016). electionsBR: R
##   functions to download and clean Brazilian electoral data.
##   Federal University of Minas Gerais (UFMG). Belo Horizonte,
##   Brazil. http://fmeireles.com/files/electionsbr.pdf
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {electionsBR: {R} Functions to Download and Clean {B}razilian Electoral Data},
##     author = {Fernando Meireles and Denisson Silva and Beatriz Costa},
##     organization = {Federal University of Minas Gerais (UFMG)},
##     address = {Belo Horizonte, Brazil},
##     year = {2016},
##     url = {http://fmeireles.com/files/electionsbr.pdf},
##   }

Notas finais

Como não poderia deixar de ser num projeto como este, nos beneficiamos muito da ajuda de diversas pessoas para fazer esta atualização. Em especial, nossos colegas do Centro de Estudos Legislativos Suzana Alves, Haína Coelho, Felipe Lima, Leonardo Ev, Lucas Gelape, Bruno Arcas, e também Bruno Reis e Carlos Ranulfo; e os já mencionados Guilherme e Robert, além do Daniel Falbel, Sillas Gonzaga e Flávio Barros (estes, pelo github) contribuíram com críticas e sugestões e, por isto, estamos indefinidamente em débito com todos(as).

[1] CRAN, ou Comprehensive R Archive Network, é um repositório oficial de pacotes para o R.


« Desempenho das pesquisas eleitorais no segundo turno
electionsBR: versão 0.3.0 »