No capítulo anterior, explicamos como a base de dados foi baixada e mostramos o conteúdo da base após a fase de arrumação de dados. Neste capítulo, apresentaremos análises preliminares sobre duas quantidades de interesse na pesquisa: i) perfil dos condenados do CNC e ii) valores envolvidos nos processos (desagregado por divesos critérios).
A Tabela \@ref(tab:pfpj) mostra a quantidade de pessoas e processos por tipo de pessoa. Podemos observar que é bem maior a quantidade de pessoas físicas na base.
tidy_cnc %>% mutate(tipo_pessoa = if_else(tipo_pessoa == 'F', 'Física', 'Jurídica')) %>% group_by(tipo_pessoa) %>% summarise(n_pessoas = n_distinct(id_pessoa), n_processos = n_distinct(id_processo)) %>% janitor::add_totals_row() %>% knitr::kable(booktabs = TRUE, caption = 'Quantidade de pessoas jurídicas e físicas e processos envolvidos.')
Agora vamos estudar a distribuição geográfica das pessoas. A Figura \@ref(fig:mapa1) mostra o volume de pessoas por estado. Obsevamos uma concentração maior em São Paulo, Minas Gerais e nos estados da região sul, além de Rondônia. Exceto por Rondônia, o resultado é esperado, já que grande parte da população fica nos estados citados.
p <- tidy_cnc %>% distinct(id_pessoa, .keep_all = TRUE) %>% count(id = uf_processo) %>% mutate(n = cut(n, c(0, 100, 200, 300, 800, max(n)), dig.lab=5)) %>% inner_join(br_uf_map) %>% { ggplot(.) + geom_map(aes(x = long, y = lat, map_id = id, fill = n), colour = 'gray30', size = .1, alpha = .8, map = ., data = .) + coord_equal() + scale_fill_brewer(palette = 'PuRd') + theme_void() } p
A Figura \@ref(fig:mapa2) mostra a taxa de pessoas por cem mil habitantes em cada estado. O resultado é surpreendente. Destacam-se o estados do Acre e Rondônia, concentrando 17 e 24 pessoas por cem mil habitantes, respectivamente. Outros estados com alta taxa são Roraima, Amapá, Tocantins, Rio Grande do Norte, Sergipe, Espírito Santo, Distrito Federal e Santa Catarina.
p <- tidy_cnc %>% distinct(id_pessoa, .keep_all = TRUE) %>% count(id = uf_processo) %>% inner_join(pnud_uf, 'id') %>% mutate(tx = n / popt * 100000) %>% mutate(tx = cut(tx, c(0, 1, 3, 5, 10, max(tx)), dig.lab = 3, ordered_result = TRUE)) %>% inner_join(br_uf_map) %>% { ggplot(.) + geom_map(aes(x = long, y = lat, map_id = id, fill = tx), colour = 'gray30', size = .1, alpha = .8, map = ., data = .) + scale_fill_brewer(palette = 'PuRd') + coord_equal() + theme_void() } p cnc_tx <- tidy_cnc %>% distinct(id_pessoa, .keep_all = TRUE) %>% count(id = uf_processo) %>% inner_join(pnud_uf, 'id') %>% mutate(tx = n / popt * 100000) groups <- cnc_tx %>% select(id, tx) %>% column_to_rownames('id') %>% dist() %>% hclust('ward.D') %>% cutree(4) %>% enframe() %>% set_names(c('id', 'grupo')) # library(cartogram) # # http://www.usp.br/nereus/wp-content/uploads/Brasil.zip # br_map <- readOGR('shp', 'UFEBRASIL', stringsAsFactors = FALSE, # dropNULLGeometries = TRUE, verbose = TRUE) # br_map@data <- br_map@data %>% # mutate(ufn = abjutils::rm_accent(NM_ESTADO)) %>% # inner_join(mutate(pnud_uf, ufn = abjutils::rm_accent(toupper(ufn))), # 'ufn') %>% # inner_join(select(cnc_tx, id, tx), 'id') %>% # filter(id != 'DF') # br_map_cart <- cartogram(br_map, "tx", 3) # d_br_map <- fortify(br_map_cart, region = 'id') p <- cnc_tx %>% inner_join(groups, 'id') %>% group_by(grupo) %>% mutate(tx_lab = sprintf('[%.1f, %.1f]', min(tx), max(tx))) %>% ungroup() %>% mutate(tx = forcats::fct_reorder(tx_lab, tx, min)) %>% inner_join(br_uf_map) %>% { ggplot(.) + geom_map(aes(x = long, y = lat, map_id = id, fill = tx), colour = 'gray30', size = .1, alpha = .8, map = ., data = .) + scale_fill_brewer(palette = 'PuRd') + coord_equal() + theme_void() } p
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.