Metodologia {#metodologia}

Coletamos no total quatro bases de dados relacionais utilizando raspagem de dados (web scraping). Essa técnica consiste em construir um robô que acessa automaticamente diversas páginas da web e salva os dados obtidos em um computador.

Condenações

A base de condenações foi obtida em dois passos: primeiro baixamos as páginas e depois baixamos as condenações.

Páginas de busca

A primeira base baixada são as paginações da pesquisa. Acesse este link para verificar o conteúdo de uma página. O resultado final dessa extração é uma base de dados em que cada linha é um resultado da busca indicando uma combinação de "pessoa" e "processo", e com as seguintes colunas:

A base de páginas será incorporada à base de condenações descrita a seguir.

Dados sobre condenações

A segunda base é obtida dos links das condenações. Acesse este link para um exemplo. Após arrumar os dados, ficamos com uma base em que cada uma das 35.977 linhas é uma condenação e com as seguintes 38 colunas:

Processos

Em seguida, obtivemos os dados de todos os processos. Após arrumar os dados, ficamos com 26.825 processos e com as seguintes 10 colunas:

A base apresenta apenas duas inconsistências. A primeira é de um único caso que não apresenta informações em geral. A segunda são 60 casos com duas linhas cada e com números de processos idênticos na mesma instância, que podem ser cadastros duplicados.

# inconsistencias
l <- '<a href="http://www.cnj.jus.br/improbidade_adm/%s">%s<a>'
l2 <- "visualizar_processo.php?seq_processo=%s"
x <- cnc_processos %>% 
  tidy_processos() %>% 
  group_by(n_processo) %>% 
  mutate(n = n(), n_dist = n_distinct(instancia)) %>% 
  filter(n > 1, n_dist == 1) %>% 
  ungroup() %>% 
  arrange(n_processo) %>% 
  mutate(id = str_match(arq_processo, '([0-9]+)\\.html$')[,2]) %>% 
  mutate(arq_processo = sprintf(l, sprintf(l2, id), id)) %>% 
  select(-n, -n_dist, -id)

Pessoas

Finalmente, a base de pessoas é obtida a partir de links identificados nas páginas de condenações. Cada uma das 30.541 linhas corresponde a uma pessoa (física ou jurídica), com as seguintes colunas:

A base apresenta algumas inconsistências. Primeiramente, temos 826 pessoas classificadas como pessoa física, mas sem informação de sexo. Além disso, temos 11 casos de pessoas classificadas como pessoa jurídica e que constam como funcionárias públicas. Dentre as 6930 pessoas classificadas como funcionárias públicas, temos 109 vazios na esfera, 343 vazios no órgão, 474 vazios no cargo e 16 vazios na UF.

Base unificada

Para facilitar as análises, construímos também uma base unificada, contendo todas as informações de condenações, pessoas e processos. Nessa base, informações sobre pessoas e processos aparecem duplicadas quando fazem parte de mais de uma condenação. A base possui 35.977 linhas (a mesma quantidade da base de condenações) e 57 colunas.

cnc_tidy <- tidy_cnc(cnc_condenacoes, cnc_pags, 
                     cnc_processos, cnc_pessoa_infos)

Próximos passos

Com a base de dados baixada e arrumada, passaremos a realizar diversas análises no cadastro de condenados. As análises abordarão sobre valores envolvidos, pessoas condenadas e características dos processos.



abjur/inacBook documentation built on May 10, 2019, 4:12 a.m.