class: right background-image: url("imgs/fondo_mapa.png") background-size: contain ## Mapeando la vulnerabilidad sanitaria en Argentina ### con R y datos abiertos __.rojo_urbano[Antonio Vazquez Brust]__ Research Fellow, Fundación Bunge y Born __.rojo_urbano[@vazquebrust]__ __LatinR 2019__ --- # ¿Vulnerabilidad Sanitaria? .pull-left[ Entendiendo a la salud como el resultado de determinantes - climáticos - territoriales - sociológicos - biológicos - etc... ... cuando una __persona o población se encuentra en riesgo__ ante estos determinantes, se produce una situación de __vulnerabilidad sanitaria__. Proyecto: estimar la Vulnerabilidad Sanitaria con ala resolución espacial para identificar y __priorizar "zonas calientes"__ que presentan __bajo acceso a servicios sanitarios__. ] .pull-right[ <img src="imgs/paper.png" width="522" /> ] --- ## Componente: Distancia a la salud pública ### ¿Cómo calcular al distancia de cada persona hasta el efector de salud pública más cercano? .pull-left[ ####El plan: - Descargar listados con direcciones de hospitales, centros de salud y postas sanitarias en todo el país - Traducir las direcciones a coordenadas lat/long - Calcular distance a pie, usando las calles, desde cada radio censal hasta el efector de salud más cercano - Proyectar los resultados en un mapa ] .pull-right[ ![](imgs/perdido.gif)<!-- --> ] --- ## Scraping de sitios oficiales con `rvest` .pull-left[ ```r *library(rvest) baseurl <- "http://programasumar.com.ar/" seccion <- "efectores/chaco.php" tabla <- paste0(baseurl, seccion) %>% read_html() %>% html_nodes("table") %>% .[[9]] %>% html_table(header = TRUE) ``` ] .pull-right[ <img src="imgs/webs_salud.png" width="709" /> ] --- ## Scraping de sitios oficiales con `rvest` .pull-left[ ```r *library(rvest) baseurl <- "http://programasumar.com.ar/" seccion <- "efectores/chaco.php" tabla <- paste0(baseurl, seccion) %>% read_html() %>% html_nodes("table") %>% .[[9]] %>% html_table(header = TRUE) tabla[2:5] ``` ] .pull-right[ <table> <thead> <tr> <th style="text-align:left;"> Localidad </th> <th style="text-align:left;"> Tipo de efector </th> <th style="text-align:left;"> Nombre </th> <th style="text-align:left;"> Dirección </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Concepción del Bermejo </td> <td style="text-align:left;"> Hospital </td> <td style="text-align:left;"> HOSPITAL CONCEPCION DEL BERMEJO </td> <td style="text-align:left;"> MARIANO MORENO S/N </td> </tr> <tr> <td style="text-align:left;"> Los Frentones </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> C.SALUD RIO MUERTO </td> <td style="text-align:left;"> PLANTA URBANA S/N </td> </tr> <tr> <td style="text-align:left;"> Los Frentones </td> <td style="text-align:left;"> Hospital </td> <td style="text-align:left;"> HOSPITAL LIC. MIRTHA O. SALTO - LOS FRENTONES </td> <td style="text-align:left;"> EX COMBATIENTES ESQ. MOCOVI </td> </tr> <tr> <td style="text-align:left;"> Pampa del Infierno </td> <td style="text-align:left;"> Hospital </td> <td style="text-align:left;"> HOSPITAL ALMIRANTE BROWN </td> <td style="text-align:left;"> BRAWN E YRIGOYEN </td> </tr> <tr> <td style="text-align:left;"> Taco Pozo </td> <td style="text-align:left;"> Hospital </td> <td style="text-align:left;"> HOSPITAL SANTA ROSA DE LIMA </td> <td style="text-align:left;"> AV. SAN MARTIN S/N </td> </tr> <tr> <td style="text-align:left;"> General Vedia </td> <td style="text-align:left;"> Hospital </td> <td style="text-align:left;"> HOSPITAL DR. ANGEL RAMON BITTI </td> <td style="text-align:left;"> AV. SAN MARTIN S/Nº </td> </tr> </tbody> </table> ] --- class: inverse, center background-image: url("imgs/mapaefectores.png") background-size: contain ## Dónde están, exactamente? --- ## Georeferencia con `ggmap` .pull-left[ En base a la columna de dirección, podemos obtener latitud y longitud. Por ejemplo, para los efectores de salud de Resistencia, verificamos que tenemos las direcciones: ```r tabla %>% filter(Localidad == "Resistencia") %>% select(Localidad, `Tipo de efector`, Dirección) ``` ] .pull-right[ <table> <thead> <tr> <th style="text-align:left;"> Localidad </th> <th style="text-align:left;"> Tipo de efector </th> <th style="text-align:left;"> Dirección </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> CALLE 23 Y PJE. DODERO, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Hospital </td> <td style="text-align:left;"> JUAN B. JUSTO Nº1135, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> PSJ. RIVADAVIA Y CALLE 18, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> PC 112 Bº MUJERES ARGENTINAS (EX GOLF CLUB), Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Hospital </td> <td style="text-align:left;"> AMEGHINO 356, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Administración </td> <td style="text-align:left;"> MARCELO T DE ALVEAR Nº45, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> FORTIN TAPENAGA Y CALLE 7, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> SOLDADOAGUILERA S/Nº Bº R. GUIRALDES, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Laboratorio </td> <td style="text-align:left;"> AV. VELEZ SARFIELD Nº98, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> PC 53, Bº PROVINCIAS UNIDAS, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> PJE. BIBIANO MEZA Nº 2045, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Transporte </td> <td style="text-align:left;"> MARCELO T. ALVEAR N°145, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> No identificado </td> <td style="text-align:left;"> AMEGHINO N°1205, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> No identificado </td> <td style="text-align:left;"> BROWN N°755, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> No identificado </td> <td style="text-align:left;"> LIBERTAD N° 130, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> No identificado </td> <td style="text-align:left;"> DONOVAN N° 142, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> LESTANI Y CALLE 2 Y 2, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> AV. SABIN Nº790, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> PUERREDON N°1300, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> SARGENTO CABRAL Nº1800, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> BARRIO MAPIC (RCIA), Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> RAUL B. DIAZ Nº865, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> JULIO F. ACOSTA Y HAITI, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> MONTEAGUDO Nº1604, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> AV. LAS HERAS Nº1699, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> RUTA 11 KM 1008, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> MZ 86 C 683 Bº SANTA INES, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> BRASILIA Nº55, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> AV. ALVEAR 6000, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> AV. MARCONI N°420, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> PJE CRUZ ROJA Nº111, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> JUJUY Nº 2775, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> MZ 79 PC 01 Bº ESPAÑA, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> GOB. FOTHERINGAM Nº555, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> EZEQUIEL Nº2051, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> PJE . VELEZ SARFIELD Nº1265, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> PSJ. WARNES 2330, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> PIO XII N° 580, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Hospital </td> <td style="text-align:left;"> AV. 9 DE JULIO 1100, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> ALSINA N°500, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> AV. AVERASTORI, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> TRANSITO COCOMAROLA Y R.ODRIGUEZ PEÑA, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Centro de salud </td> <td style="text-align:left;"> CERVANTES Y CALLE 15, Resistencia, Chaco </td> </tr> <tr> <td style="text-align:left;"> Resistencia </td> <td style="text-align:left;"> Administración </td> <td style="text-align:left;"> López y Planes N°157, Resistencia, Chaco </td> </tr> </tbody> </table> ] --- ## Georeferencia con `ggmap` .pull-left[ A georeferenciar! ```r *library(ggmap) ``` Hay que registrarse antes con Google :( ```r register_google("API_KEY_a9f7s9d2k3rh478") ``` ```r tabla <- tabla %>% mutate_geocode(Dirección) ``` Verificando resultados: ```r library(leaflet) leaflet(tabla) %>% addTiles() %>% addMarkers() ``` ] .pull-right[
] --- class: center, bottom background-image: url("imgs/OSRMweb.png") background-size: contain ## cuánto se tarda en llegar? --- ## Estimación de rutas (a pie, en auto) con `osrm` .pull-left[ ```r *library(osrm) desde <- c(id = "centroide de radio", lon = -59.052402, lat = -27.414923) hasta <- c(id = "Hsp. Dr. Julio Perrando", lon = -58.9769156, lat = -27.4597908) ruta <- osrmRoute(desde, hasta, returnclass = "sf") ``` Se obtiene distancia recorida en metros,y duración del viaje en minutos... y como opcional, la ruta exacta en formato `sf` ```r leaflet(ruta) %>% addTiles() %>% addPolylines(color = "purple") ``` ] .pull-right[
] --- ## Automatizar con `purrr` Las herramientas de programación funcional (`map()`, `pmap()`, `walk()`, etc) permiten trabajar a gran escala... y ahorrar horas y horas de vida! <img src="imgs/please_purrr.png" width="1081" /> --- class: inverse, center, bottom background-image: url("imgs/tiempo_de_viaje.png") background-size: contain ### el resultado, a escala nacional --- ## Hágalo usted mism@!: tutoriales breves .pull-left[ .oculto[x ] __Intro a datos geográficos con R__ https://rpubs.com/HAVB/geoinfo __Georefenciado Direcciones con `ggmaps` y Google__ https://rpubs.com/HAVB/georef __Calculando rutas con OSRM__ https://rpubs.com/HAVB/osrm __Visualización de datos espaciales a gran escala__ https://rpubs.com/HAVB/mapdeck ] .pull-right[ ![](imgs/tutoriales.png) ] --- class:center, middle, inverse background-size: contain #¡MUCHAS GRACIAS! ## Antonio Vazquez Brust | @vazquezbrust ### link a la presentación: .oculto[bit.ly/latinr2019]