library(rcongresso)
library(DT)
library(magrittr)
library(dplyr)
library(knitr)
Este pacote é baseado na nova API REST da Câmara dos Deputados. A API fornece funções para pegar muitas informações interessantes para os analistas de dados. A intenção desse pacote é ser um wrapper retornando dataframes prontos facilitando a vida dos usuários.
Antes de tudo, precisamos entender um pouco como se dá a organização da câmara ao gerar as proposições e como estas informações estão organizadas na base de dados. Além disso, podemos obter mais infomações sobre um deputado especificamente.
Para recuperar uma proposição você precisa de três informações: O tipo da proposição (i.e., PEC, PL, PLP), o número da proposição e o ano em que esta foi proposta. Com essas três informações em mãos podemos recuperar o ID da proposição da base de dados e, consequentemente, a proposição.
Vamos utilizar como exemplo a PL 4302/1998, o projeto de lei da terceirização. Já temos as informações necessárias para recuperar o ID desta, então fazemos uma chamada à função fetch_id_proposicao()
.
pl4302_id <- fetch_id_proposicao(tipo="PL", numero=4302, ano=1998)
Com o ID da proposição em mãos, podemos recuperar a proposição em si contendo as informações relevantes sobre esta. Fazemos isso com uma chamada à função fetch_proposicao()
pl4302 <- fetch_proposicao(id_prop=pl4302_id)
Essas são as informações que dispomos sobre a proposição:
colnames(pl4302)
## [1] "id" "uri" "siglaTipo"
## [4] "idTipo" "numero" "ano"
## [7] "ementa" "dataApresentacao" "tipoAutor"
## [10] "idTipoAutor" "descricaoTipo" "keywords"
Um resumo das informações referentes à proposição podem ser vistas abaixo:
pl4302 %>%
select(id, uri, numero, ano, ementa, dataApresentacao) %>%
kable()
id | uri | numero | ano | ementa | dataApresentacao |
---|---|---|---|---|---|
20794 | https://dadosabertos.camara.leg.br/api/v2/proposicoes/20794 | 4302 | 1998 | Dispõe sobre as relações de trabalho na empresa de trabalho temporário e na empresa de prestação de serviços a terceiros, e dá outras providências. NOVA EMENTA DO SUBSTITUTIVO: Altera dispositivos da Lei nº 6.019, de 03 de janeiro de 1974, que dispõe sobre o trabalho temporário nas empresas urbanas e dá outras providências" e dispõe sobre as relações de trabalho na empresa de prestação de serviços a terceiros. | 1998-03-19 00:00:00.0 |
Com o ID da proposição, além da proposição em si, podemos recuperar todas as votações pelas quais aquela proposição já passou. Fazemos isso com uma chamada à função fetch_votacoes()
votacoes_pl4302 <- fetch_votacoes(id_prop=pl4302_id)
Essas são todas as informações que dispomos sobre as votações retornadas:
colnames(votacoes_pl4302)
## [1] "id" "uri"
## [3] "titulo" "uriEvento"
## [5] "uriProposicaoPrincipal" "tipoVotacao"
## [7] "aprovada" "placarSim"
## [9] "placarNao" "placarAbstencao"
## [11] "proposicao.id" "proposicao.uri"
## [13] "proposicao.siglaTipo" "proposicao.idTipo"
## [15] "proposicao.numero" "proposicao.ano"
## [17] "proposicao.ementa"
Temos abaixo um resumo do dataframe retornado:
votacoes_pl4302 %>%
select(id, titulo, placarSim, placarNao, placarAbstencao) %>%
kable()
id | titulo | placarSim | placarNao | placarAbstencao |
---|---|---|---|---|
7430 | SUBSTITUTIVO DO SENADO FEDERAL - EMENDA SUPRESSIVA | 28 | 275 | 46 |
7427 | REQUERIMENTO DE ADIAMENTO DA VOTAÇÃO POR 1 SESSÃO | 35 | 231 | 5 |
7424 | REQUERIMENTO DE RETIRADA DE PAUTA | 40 | 213 | 4 |
7431 | SUBSTITUTIVO DO SENADO FEDERAL | 232 | 188 | 8 |
Com essas informações em mãos podemos escolher uma votação para analisarmos melhor. Escolhemos a votação pelo seu ID. Fazemos isso com uma chamada à função fetch_votacao()
Vamos escolher a votação cujo título é “SUBSTITUTIVO DO SENADO FEDERAL” e tem ID=7431.
votacao_aprovacao_terceirizacao <- fetch_votacao(id_votacao=7431)
Essas são todas as informações que dispomos sobre a votação:
colnames(votacao_aprovacao_terceirizacao)
## [1] "id" "uri"
## [3] "titulo" "uriEvento"
## [5] "uriProposicaoPrincipal" "tipoVotacao"
## [7] "placarSim" "placarNao"
## [9] "placarAbstencao" "dataHoraInicio"
## [11] "dataHoraFim"
Temos abaixo um resumo do dataframe retornado:
data.frame(id=votacao_aprovacao_terceirizacao$id, titulo=votacao_aprovacao_terceirizacao$titulo,
dataHoraInicio=votacao_aprovacao_terceirizacao$dataHoraInicio, dataHoraFim=votacao_aprovacao_terceirizacao$dataHoraFim) %>%
kable()
id | titulo | dataHoraInicio | dataHoraFim |
---|---|---|---|
7431 | SUBSTITUTIVO DO SENADO FEDERAL | 2017-03-22 15:41:02.0 | 2017-03-22 20:45:32.0 |
Podemos ver, a partir dessa variável acessando o dataframe orientacoes, a orientação das bancadas. Essa informação é crucial para construir o dataframe final. Para isso utilizamos a função fetch_orientacoes()
fetch_orientacoes(id_votacao=7431) %>%
select(nomeBancada, voto) %>%
datatable()
Com o ID da votação, além da votação em si, podemos recuperar todas os votos dos deputados que participaram daquela votação. Fazemos isso utilizando a função fetch_votos()
.
votos_aprovacao_terceirizacao <- fetch_votos(id_votacao=7431)
Essas são todas as informações que dispomos sobre os votos:
colnames(votacao_aprovacao_terceirizacao)
## [1] "id" "uri"
## [3] "titulo" "uriEvento"
## [5] "uriProposicaoPrincipal" "tipoVotacao"
## [7] "placarSim" "placarNao"
## [9] "placarAbstencao" "dataHoraInicio"
## [11] "dataHoraFim"
Temos abaixo um resumo do dataframe retornado:
votos_aprovacao_terceirizacao %>%
select(parlamentar.id, parlamentar.nome, parlamentar.siglaPartido, voto) %>%
datatable()
Se quisermos obter mais informações sobre um deputado, podemos fazê-lo pelo seu ID. Fazemos isso utilizando a função fetch_deputado()
.
Podemos recuperar mais informações sobre o deputado Abel Mesquita, cujo id é 178957. Abaixo temos um exemplo do dataframe retornado:
fetch_deputado(178957) %>%
select(-uri) %>%
kable()
id | nomeCivil | cpf | sexo | dataNascimento | ufNascimento | municipioNascimento | escolaridade |
---|---|---|---|---|---|---|---|
178957 | ABEL SALVADOR MESQUITA JUNIOR | M | 1962-03-29 | RR | Boa Vista | Superior Incompleto |