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
You can install the development version of {electpollBR} from
GitHub with
install.packages("pak")
pak::pak("conre3/electpollBR")init.R- .onLoad
- roda as funções de teste em
scrape.R - verifica se a estrutura de diretórios de download está ok
- roda as funções de teste em
- 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
- .onLoad
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
- 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
- quando começar a rodar, chamar
load_all()ou teclarCtrl+Shift+Lpara 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.Rse não existir - abre e põe como arquivo ativo se existir
- cria
- a função
use_r()mostra qual é o arquivo ativo
- a função
- criar arquivo de teste com a função
use_test()- a função
use_test()- cria
./tests/testthat/test_nome_função.Rse./R/nome_função.Rfor o arquivo ativo - abre o script
./tests/testthat/test_nome_função.Rse ele existir
- cria
- a função
- 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~/.Renvironglobal - usar
edit_r_environ(scope = "project")para editar./.Renvironlocal - usar
Sys.getenv("nome_var")para puxarnome_vardos.Renvironlocal e global
- usar
- para incluir pacotes que serão usados no pacote, usar
use_package(nome), que já inclui entradas no campoImports: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 dobloco de código, em particular as funçõestestethat::expect_*() - inserir esqueleto de documentação do Roxygen com a
Alt+Ctrl+Shift+R- depois precisa chamar
devtools::document()ou teclarCtrl+Shift+Dpara atualizar a documentação a partir dos comentários do Roxygen
- depois precisa chamar
- para verificar se o pacote está buildando, chamar
devtools::check()ou teclarCtrl+Shift+E - para rodar os testes unitários,
- chamar
devtools::test()ou teclarCtrl+Shift+Tpara rodar todos os testes do pacote - chamar
devtools::test_active_file()para rodar os testes do .R atual
- chamar
- 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
- Candidatos
- 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
- Pesquisas eleitorais
- https://dadosabertos.tse.jus.br/
- https://dadosabertos.tse.jus.br/group/
- https://dadosabertos.tse.jus.br/group/pesquisas-eleitorais
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-atual
- essa URL é a do ano de 2022 e foge ao padrão
- dá para raspar contornando esse problema
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-atual/resource/3c0e4df8-1e6f-4468-bae1-65aed8c0eac3
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-atual/resource/97b0b8da-0572-4196-a5c6-6db271200eb5
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-atual/resource/348c1024-30a2-4edd-9c92-d90bf234f4c0
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-atual/resource/9912a91e-5b92-49a2-a713-1297bf3ee2cd
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-atual/resource/48abe758-45e4-4e4c-bedd-41acd40601f3
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-atual/resource/c7b825bb-34cc-4d20-b3ef-7bc514895ab6
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2026
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2026/resource/769a663e-12c5-489e-a9c8-04633c2d57a3
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2026/resource/5675d403-63ce-4a39-bd00-fc110ef999a7
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2026/resource/32fc58de-8369-4b9f-9c97-1647f8de49cb
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2026/resource/7d83679f-c252-493b-98ad-e532c7fa7252
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2026/resource/e2520f5b-c7c9-453f-9f4a-2a96214570a0
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2026/resource/fc6b7e48-540d-4f94-a412-8829d5f022d3
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2024
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2020
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2018
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2016
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2014
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-2012
- https://dadosabertos.tse.jus.br/dataset/pesquisas-eleitorais-atual
- https://dadosabertos.tse.jus.br/group/pesquisas-eleitorais
- https://dadosabertos.tse.jus.br/group/