gramática de gráficos ejemplificada con datos de mortalidad de inegi
En la misma liga de descarga hay un pdf que contiene los catálogos de variables de la base de datos.
Ya teniendo la visualización se pueden detectar ciertos patrones y ciertas anomalías, como la barra más amplia del capítulo 14 (problemas renales) en tierra blanca, que los municipios costeros tienen mayor proporción del capítulo 1 (infecciones) que el resto, pero una más salta a la vista.
Habiendo visto la anomalía de Chicontepec, se hace un zoom al municipio, sólo para ver que hay miles de reportes como "otros síntomas y signos generales". Quién sabe qué quiere decir esto.
El código:
library(forcats)
library(foreign)
library(dplyr)
library(tibble)
library(magrittr)
library(ggplot2)
library(ochRe)
## temporal al cual se descarga un zip, se establece una conexion y se leen los dbf ####
temp <- tempfile()
download.file("http://www.beta.inegi.org.mx/contenidos/proyectos/registros/vitales/mortalidad/microdatos/defunciones/2016/defunciones_base_datos_2016_dbf.zip",
temp)
data <- read.dbf(unzip(temp, "DEFUN16.dbf")) # system.time() = 12 segundos
categorias <- read.dbf(unzip(temp, "CATMINDE.dbf"))
grupos <- read.dbf(unzip(temp, "CAPGPO.dbf"))
geo <- read.dbf(unzip(temp,"CATEMLDE16.dbf"))
unlink(temp)
# proceso veracruz ####
veracruz <- filter(data, ENT_RESID == "30") %>% as.tibble()
geo %<>% filter(CVE_ENT=="30" & CVE_LOC=="0000") %>% as.tibble()
# para ordenar por los principales municipios
por_municipio <- veracruz %>% group_by(MUN_RESID) %>%
count(.) %>% arrange(desc(n))
veracruz <- veracruz %>% filter(MUN_RESID %in% por_municipio$MUN_RESID[1:30]) %>% left_join(geo, by=c("MUN_RESID"="CVE_MUN"))
veracruz$NOM_LOC <- factor(veracruz$NOM_LOC)
grupos$CAP <- as.integer(grupos$CAP)
# misteriosos son los designios de locale del inegi
# y misterioso por qué en 2016 siguen usando dbf
veracruz <- left_join(veracruz, grupos, by=c("CAPITULO"="CAP"))
encodeador <- tibble(code_malo=c("\xa0","\x82","\xa1","\xa2","\xa3","\xb5"),
buena=c("á","é","í","ó","ú","Á") )
for(i in 1:dim(encodeador)[1]){
veracruz$NOM_LOC <- gsub(encodeador$code_malo[i], encodeador$buena[i], veracruz$NOM_LOC)
}
# graficar veracruz con apoyo de las funciones de forcats #####
ggplot(veracruz, aes(fct_rev(fct_infreq(NOM_LOC)), fill=factor(CAPITULO))) + geom_bar(position="fill") +
coord_flip() + scale_fill_manual(values=ochre_palettes$emu_woman_paired) +
ggtitle("Categorías de defunción municipios de Veracruz") +
xlab("") + ylab("") +
guides(fill=guide_legend(title="Capítulo"))
# qué pasa con chicontepec? ####
chicontepec <- filter(veracruz, NOM_LOC=="Chicontepec") %>%
group_by(CAUSA_DEF, NOM_LOC, CAPITULO) %>% count(CAUSA_DEF) %>% arrange(desc(n))
chicontepec <- left_join(chicontepec, categorias, by=c("CAUSA_DEF"="CLAVE"))
grupos %<>% filter(is.na(GPO))
for(i in 1:dim(encodeador)[1]){
grupos$DESCRIP <- gsub(encodeador$code_malo[i], encodeador$buena[i], grupos$DESCRIP)
}
grupos$CAP <- as.integer(grupos$CAP)
chicontepec <- left_join(chicontepec, grupos, by=c("CAPITULO"="CAP"))
for(i in 1:dim(encodeador)[1]){
chicontepec$NOMBRE <- gsub(encodeador$code_malo[i], encodeador$buena[i], chicontepec$NOMBRE)
}
chicontepec
# graficar chicontepec ####
ggplot(chicontepec[1:15,], aes(reorder(NOMBRE,n),n,fill=factor(CAPITULO))) +
geom_bar(stat="identity") +
scale_fill_manual(values=ochre_palettes$emu_woman_paired) +
coord_flip() + xlab("") +
ggtitle("principales causas de defunción, Chicontepec") +
guides(fill=guide_legend(title="Capítulo"))

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Casinos that Accept Crypto: Slots, Roulette & More
ResponderBorrarBest Casinos with Crypto: Slots, Roulette & More · 1. Ignition Casino · 사다리사이트 2. InterTops bet365 코리아 Casino · 3. 강원랜드 떡 Ignition 바카라추천사이트 Casino · 하하 포커 4. Bovegas Casino.