-
Notifications
You must be signed in to change notification settings - Fork 4
/
README.Rmd
125 lines (100 loc) · 6.08 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
---
output: github_document
---
[![Travis-CI Build
Status](https://travis-ci.org/conre3/pesqEle.svg?branch=master)](https://travis-ci.org/conre3/pesqEle) [![AppVeyor Build
Status](https://ci.appveyor.com/api/projects/status/github/conre3/pesqEle?branch=master&svg=true)](https://ci.appveyor.com/project/conre3/pesqEle) [![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/pesqEle)](https://cran.r-project.org/package=pesqEle)
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```
# pesqEle
Scraper de estatísticos registrados nas pesquisas eleitorais do Tribunal Superior Eleitoral (TSE). O objetivo desse pacote é mostrar todas as pesquisas eleitorais registradas e algumas de suas características, com o fim de obter uma visão geral dos registros e identificar potenciais fraudes.
## Instalação
Você pode instalar o pesqEle from github com:
```{r gh-installation, eval = FALSE}
# install.packages("devtools")
devtools::install_github("conre3/pesqEle")
```
Quando esse pacote estiver no CRAN, você poderá instalá-lo rodando
```{r installation, eval = FALSE}
install.packages("pesqEle")
```
## Exemplo
A função `pe_2018()` Faz o download de todas as pesquisas de 2018 por raspagem de dados. Por padrão, os arquivos HTML são armazenados na pasta `data-raw/html_2018`, mas é possível alterar essa pasta pelo parâmetro `path=`.
```{r example, eval = FALSE}
pe <- pe_2018("pasta")
dplyr::glimpse(pe)
```
```
Observations: 184
Variables: 24
$ id_seq <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14...
$ id_pesq <chr> "MA-05302/2018", "DF-03958/2018", "DF-06553/2...
$ info_uf <chr> "MA", "DF", "DF", "PI", "PI", "SP", "SP", "PI...
$ info_election <chr> "Eleições Gerais 2018", "Eleições Gerais 2018...
$ info_position <chr> "", "Deputado Distrital", "Deputado Federal",...
$ comp_nm <chr> "M R BORGES SERVICOS / MBO PUBLICIDADE, MARKE...
$ comp_cnpj <chr> "00905916000190", "00850844000121", "00850844...
$ comp_contract_same <chr> "Sim", "Sim", "Sim", "Não", "Não", "Não", "Nã...
$ stat_id <chr> "1791", "CONRE 1a. Região No. 9403", "CONRE 1...
$ stat_nm <chr> "ANTONIO CARLOS RODRIGUES BARBOSA", "LUCIANA ...
$ pesq_n <dbl> 10973, 3200, 3200, 320, 320, 601, 601, 320, 8...
$ pesq_val <dbl> 15700, 32000, 32000, 3000, 3000, 6000, 0, 300...
$ pesq_contractors <chr> "CNPJ: 00905916000190 - M R BORGES SERVICOS",...
$ pesq_origin <chr> "Vazio", "Vazio", "Vazio", "Recursos proprios...
$ pesq_same <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FAL...
$ dt_reg <date> 2018-05-12, 2018-03-26, 2018-03-26, 2018-02-...
$ dt_pub <date> 2018-05-18, 2018-04-01, 2018-04-01, 2018-02-...
$ dt_start <date> 2018-03-26, 2018-03-21, 2018-03-21, 2018-02-...
$ dt_end <date> 2018-05-04, 2018-03-30, 2018-03-30, 2018-02-...
$ txt_verif <chr> "Sistema interno de controle e verificação, c...
$ txt_method <chr> "METODOLOGIA: A pesquisa foi realizada median...
$ txt_about <chr> "Trata-se de uma amostra não aleatória por co...
$ txt_plan <chr> ". PLANO AMOSTRAL E INTERVALOS DE CONFIANÇA: ...
$ stat_unique <chr> "1791_A535", "9403_L252", "9403_L252", "5102_...
```
Ao rodar pela primeira vez, provavelmente o download demorará por volta de 15-20 minutos, dependendo da conexão com a internet. Nas próximas vezes o download é mais rápido pois o programa não baixa pesquisas já armazenadas em arquivos HTML.
Se não quiser rodar a função `pe_2018()`, armazenamos os dados no objeto `pesqEle::pesqEle_2018`. Esse objeto é uma `data.frame()` com as mesmas colunas resultantes de `pe_2018()`. Essas variáveis são:
- Identificadores:
- `id_seq`: ID sequencial
- `id_pesq`: ID de registro da pesquisa
- Informações da eleição
- `info_uf`: Unidade Federativa indicando abrangência da pesquisa ("BR" = Brasil)
- `info_election`: Eleição (no caso, sempre 2018)
- `info_position`: Cargo eleitoral
- Informações da empresa
- `comp_nm`: Nome da empresa que realizou a pesquisa
- `comp_cnpj`: CNPJ da empresa que realizou a pesquisa
- `comp_contract_same`: Contratante é a própria empresa?
- Informações do estatístico responsável
- `stat_id`: ID do estatístico
- `stat_nm`
- `stat_unique`: Código único do estatístico. Os nomes dos estatísticos estavam escritos de formas diferentes, então arrumamos utilizando o pacote `SoundexBR` e outras heurísticas. Nada garante que o pacote contenha mais erros nos nomes.
- Informações sobre a pesquisa
- `pesq_n`: Tamanho da amostra.
- `pesq_val`: Custo da pesquisa informado no registro.
- `pesq_contractors`: Empresas que contrataram a pesquisa.
- `pesq_origin`: Origem dos recursos da pesquisa.
- `pesq_same`: Indica se o contratante da pesquisa é a própria empresa e a pesquisa foi realizada com recursos próprios (em 2018 não tem nenhuma).
- Datas
- `dt_reg`: Data de registro da pesquisa.
- `dt_pub`: Data de publicação da pesquisa.
- `dt_start`: Data de início da pesquisa.
- `dt_end`: Data de término da pesquisa.
- Informações adicionais (texto)
- `txt_verif`, `txt_method`, `txt_about`, `txt_plan`: informações adicionais da pesquisa, geralmente em texto, sobre metodologia, aplicação e outros detalhes.
# Shiny App
Após instalar o pacote, você pode rodar o app do `pesqEle` rodando
```{r shiny, eval=FALSE}
shiny::runApp(system.file("app", package = "pesqEle"))
```
Para rodar o app, além dos pacotes do `tidyverse` e `shiny`, você precisará instalar os pacotes `shinydashboard`, `highcharter`, `shinyBS` e `shinyjs`. Todos eles estão no CRAN e podem ser instalados via `install.packages()`.
# Cuidado
Os nomes dos estatísticos estavam escritos de formas diferentes, então arrumamos utilizando o pacote [`SoundexBR`](https://github.com/danielmarcelino/SoundexBR) e outras heurísticas. Nada garante que o pacote contenha mais erros nos nomes.
# Licença
MIT