Skip to content

conre3/electpollBR

Repository files navigation

electpollBR

The goal of electpollBR is to

  • download and tidy up data from Brazilian Electoral Justice on registered electoral polls (not only results, but mainly registration data, like the company that conducted the poll, when and where it was conducted, technical responsible, contractor, payer, invoice, questionnaire, and coverage)
  • list availability of data by year
  • check whether or not the previously downloaded data file is still up-to-date, avoiding downloading it again needlessly

Installation

You can install the development version of {electpollBR} from GitHub with

install.packages("pak")
pak::pak("conre3/electpollBR")

Package Design

Scripts

  • init.R
    • .onLoad
      • roda as funções de teste em scrape.R
      • verifica se a estrutura de diretórios de download está ok
    • definição das variáveis globais no pacote
    • faz o setup da estrutura de diretórios para o download
    • verifica se a estrutura de diretórios para download está montada
  • scrape.R
    • definições das urls
    • testa conexão
      • ve se tá online
    • teste de url
      • testa se as urls básicas ainda são as mesmas
    • mensagem de erro por falta de url
    • raspa as pesquisas na url
      • retorna um df com nome do dado, ano, e tamanho
    • lista os dados disponíveis por ano
      • retorna a df acima
    • compara os anos encontrados com os anos que eu sei que deveriam estar lá
      • dá warning ou erro (?) se der diferença
    • compara os dados encontrados com os dados que eu sei que deveriam estar lá
      • dá warning ou erro (?) se der diferença
    • testa se há dados novos quando deveria haver (anos pares)
      • se não houver um dados esperado, solta warning pedindo para me avisar
  • download.R
    • baixa por ano
    • descompacta
    • trata

Functionalities to implement

  • função de setup do diretório de download
    • para lidar com interrupção e continuação de dowload parcial
    • parâmetros
      • keep.download=TRUE
      • download.path=“./data/electpollBR/raw/”
      • save.path=“./data/electpollBR/”
      • save.copy.on.base=TRUE
    • criar os diretório
      • “./data/” (se não existir)
      • “./data/electpollBR/”
      • “./data/electpollBR/raw/” (diretório de dados brutos)
    • criar o arquivo
      • “./data/.gitignore” (com “electpollBR/)
  • função para listar as pesquisas
  • função para baixar o arquivo de dados de registro das pesquisas segundo ano e opcionalmente estado
    • verifica
    • função de definição das URLs dos arquivos a baixar
    • função para verificar se a versão do arquivos de dados no site é mais recente do que a versão já baixada
    • função de download da URL em diretório de dados brutos
    • função de descompactação do arquivo baixado
    • função de importação do arquivo descompatado
    • função de faxina dos dados importados
    • função de gravação em diretório de dados limpos
  • dúvida: precisaria de:
    • função de exportação dos dados limpos
    • função de busca por ano

Reminder to self:

  • quando começar a rodar, chamar load_all() ou teclar Ctrl+Shift+L para carregar todas as dependências do pacote
  • incluir arquivos .R com a função use_r("nome_função")
    • a função use_r("nome_função")
      • cria ./R/nome_função.R se não existir
      • abre e põe como arquivo ativo se existir
    • a função use_r() mostra qual é o arquivo ativo
  • criar arquivo de teste com a função use_test()
    • a função use_test()
      • cria ./tests/testthat/test_nome_função.R se ./R/nome_função.R for o arquivo ativo
      • abre o script ./tests/testthat/test_nome_função.R se ele existir
  • para renomear .R e seu script de teste de uma só vez, usar rename_files("nome_velho", "nome_novo")
  • para editar variáveis de ambiente (como info como login, senha, token de autenticação etc.)
    • usar edit_r_environ() para editar ~/.Renviron global
    • usar edit_r_environ(scope = "project") para editar ./.Renviron local
    • usar Sys.getenv("nome_var") para puxar nome_var dos .Renviron local e global
  • para incluir pacotes que serão usados no pacote, usar use_package(nome), que já inclui entradas no campo Imports: do DESCRIPTION
  • nos scripts de teste, criar testes com chamadas à função testthat::test_that("nome_teste", {bloco de código}), usando as funções de {testthat} dentro do bloco de código, em particular as funções testethat::expect_*()
  • inserir esqueleto de documentação do Roxygen com a Alt+Ctrl+Shift+R
    • depois precisa chamar devtools::document() ou teclar Ctrl+Shift+D para atualizar a documentação a partir dos comentários do Roxygen
  • para verificar se o pacote está buildando, chamar devtools::check() ou teclar Ctrl+Shift+E
  • para rodar os testes unitários,
    • chamar devtools::test() ou teclar Ctrl+Shift+T para rodar todos os testes do pacote
    • chamar devtools::test_active_file() para rodar os testes do .R atual

TSE’s Open Data Portal’s URLs

  • Página inicial
  • Página de grupos de conjuntos de dados
    • URL: https://dadosabertos.tse.jus.br/group/
    • Grupos de dados presentes:
      • Candidatos
        • 35 Conjuntos de dados
      • Comparecimento e Abstenção
        • 6 Conjuntos de dados
      • Dados de apoio
        • 3 Conjuntos de dados
      • Eleitorado
        • 19 Conjuntos de dados
      • Mesárias, Mesários e Funções Especiais
        • 5 Conjuntos de dados
      • Partidos
        • 1 Conjunto de dados
      • Pesquisas Eleitorais
        • 8 Conjuntos de dados
      • Prestação de Contas Eleitorais
        • 12 Conjuntos de dados
      • Prestação de Contas Partidárias
        • 12 Conjuntos de dados
      • Processual
        • 4 Conjuntos de dados
      • Resultados
        • 61 Conjuntos de dados
  • Página dos conjuntos de dados de Pesquisas Eleitorais
    • URL: https://dadosabertos.tse.jus.br/group/pesquisas-eleitorais
    • Dados
      • Pesquisas eleitorais
        • formato: CSV
        • início: 2012
        • fim: 2026
      • Contratantes
        • formato: CSV
        • início: 2012
        • fim: 2026
      • Pagantes
        • formato: CSV
        • início: 2012
        • fim: 2026
      • Notas fiscais
        • formato: PDF
        • início: 2014
        • fim: 2026
      • Questionários de pesquisa
        • formato: PDF
        • início: 2012
        • fim: 2026
      • Detalhamento de bairro/município
        • formato: PDF
        • início: 2012
        • fim: 2026

Labyrinth

About

Download Data on Registered Electoral Polls Conducted in Brazil

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages