1.INTRODUCCIÓN

El objetivo general del presente trabajo es analizar la relación existente entre la distribución geográfica de los dispositivos de salud pública (oferta) y los hogares con Necesidades Básicas Insatisfechas (potencial demanda)en el Área Metropolitana de Buenos Aires (AMBA).

El producto final para realizar el análisis será un mapa imteractivo que permita visualizar facilmente la distribución geográfica de la oferta y la potencial demanda de los servicios públicos de salud.

EL SUPUESTO

Existen espacios dentro del AMBA con altos porcentajes de hogares con NBI y no tienen un dispositivo de salud público a menos de 1km de distancia.

Para cumplir con el objetivo mencionado anteriormente, se procesarán las siguientes capas y DF:

ACLARACIÓN

Consideramos adecuado que las personas que necesitan acudir a un centro de salud debieran transportarse a pie y sin recorrer mas de 1km de distancia entre su domicilio y el dispositivo. Existe bibliografía que menciona a la distancia como uno de los factores de peso en los abandonos de tratamientos de salud. En términos de costo de transporte, el factor distancia también juega un papel importante en población de bajos ingresos económicos.(Para mas información sobre caminabilidad/accesibilidad se puede consultar: https://www.buenosaires.gob.ar/sites/gcaba/files/caminabilidad_0.pdf https://politicaspublicas.uc.cl/wp-content/uploads/2016/10/20161011_Informe_Ciudad-con-Todos_Bid_disen%CC%83ado-final-1.pdf)

2.INCOPORANDO Y LIMPIANDO DATOS PARA LLEGAR AL OBJETIVO

#Activamos los paquetes a utilizar

library(tidyverse)
## Warning: package 'tidyverse' was built under R version 3.5.3
## -- Attaching packages ----------------------------------------------------- tidyverse 1.2.1 --
## v ggplot2 3.2.0     v purrr   0.3.2
## v tibble  2.1.1     v dplyr   0.8.1
## v tidyr   0.8.3     v stringr 1.4.0
## v readr   1.3.1     v forcats 0.4.0
## Warning: package 'ggplot2' was built under R version 3.5.3
## Warning: package 'tibble' was built under R version 3.5.3
## Warning: package 'tidyr' was built under R version 3.5.3
## Warning: package 'readr' was built under R version 3.5.3
## Warning: package 'purrr' was built under R version 3.5.3
## Warning: package 'dplyr' was built under R version 3.5.3
## Warning: package 'stringr' was built under R version 3.5.3
## Warning: package 'forcats' was built under R version 3.5.3
## -- Conflicts -------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(ggmap)
## Warning: package 'ggmap' was built under R version 3.5.3
## Google's Terms of Service: https://cloud.google.com/maps-platform/terms/.
## Please cite ggmap if you use it! See citation("ggmap") for details.
library(sf)
## Warning: package 'sf' was built under R version 3.5.3
## Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3
library(leaflet)
## Warning: package 'leaflet' was built under R version 3.5.3
library(reshape)
## Warning: package 'reshape' was built under R version 3.5.3
## 
## Attaching package: 'reshape'
## The following object is masked from 'package:dplyr':
## 
##     rename
## The following objects are masked from 'package:tidyr':
## 
##     expand, smiths
library(dplyr)
library(tmap)
## Warning: package 'tmap' was built under R version 3.5.3
library(osmdata)
## Warning: package 'osmdata' was built under R version 3.5.3
## Data (c) OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright
library(knitr)
## Warning: package 'knitr' was built under R version 3.5.3
library(htmltools)
## Warning: package 'htmltools' was built under R version 3.5.3

Obtenemos los dispositivos Hospitales y CAPS de la IDE Sedronar y lo comenzamos a “limpiar”.

setwd("D:/My Files(MARIANO-PC)/Native/Disco local/CURSOS/BIG_DATA/FLACSO/Modulo_geodata_antonio/tp_entregal_MOD_3/salud_cobertura")
# traemos la tabla csv de caps:

caps<-read.csv("D:/TP3_flacso/shape/Salud_dispositivo_amba/sedro/web_caps_publicos_sisa.csv", encoding = "UTF-8")

# renombramos campos para posteriormente visualizar en leaflet con su correspondiente pop up

#caps = rename(caps, c(y="latitude", x= "longitude"))

#Traemos la tabla csv de Hospitales:

hospitales_publicos<-read.csv("d:/TP3_flacso/shape/Salud_dispositivo_amba/sedro/web_hospitales_publicos_sisa.csv", encoding = "UTF-8")

#hospitales_publicos = rename(hospitales_publicos, c(y="latitude", x= "longitude"))

Realizamos un join de ambas capas (caps y hospitales) Previamente limpiamos las tablas hospitales publicos y caps (dejamos los campos de interés y renombramos)

hospitales_publicos<-select(hospitales_publicos,-the_geom,-cod_establ, -FID, -ogc_fid,-director, -cat_topolo,-tipologia,-origen_fin, -cod_postal, -internacio, -street_vie,-fid) 
  

head(caps)
##                        FID                          geom fid_1 fid
## 1 web_caps_publicos_sisa.1 POINT (-58.053549 -34.955142)     1   1
## 2 web_caps_publicos_sisa.2 POINT (-58.055982 -34.957304)     2   2
## 3 web_caps_publicos_sisa.3 POINT (-58.705667 -34.905526)     3   3
## 4 web_caps_publicos_sisa.4 POINT (-58.357471 -34.710888)     4   4
## 5 web_caps_publicos_sisa.5 POINT (-58.363041 -34.703077)     5   5
## 6 web_caps_publicos_sisa.6 POINT (-58.359604 -34.731438)     6   6
##           x         y         prov
## 1 -58.05355 -34.95514 Buenos Aires
## 2 -58.05598 -34.95730 Buenos Aires
## 3 -58.70567 -34.90553 Buenos Aires
## 4 -58.35747 -34.71089 Buenos Aires
## 5 -58.36304 -34.70308 Buenos Aires
## 6 -58.35960 -34.73144 Buenos Aires
##                                        nombre
## 1          Unidad Penal N° 34 Spb De La Plata
## 2 Unidad Penal Nº 10 I.N.S. - Spb De La Plata
## 3    Unidad Sanitaria Eva Peron De Marcos Paz
## 4  Unidad Sanitaria N° 48 Villa Pora De Lanus
## 5        Unidad Sanitaria 1° De Mayo De Lanus
## 6        Unidad Sanitaria San Martin De Lanus
##                               direccion      depto               localidad
## 1                       Calle 520 Y 176   La Plata     Jose Melchor Romero
## 2                       Calle 520 Y 178   La Plata     Jose Melchor Romero
## 3 Fallotico Barrio Lisandro De La Torre Marcos Paz Marcos Paz (Marcos Paz)
## 4                           Bueras 3100      Lanus              Lanus Este
## 5            Sánchez De Bustamante 2355      Lanus             Lanus Oeste
## 6                         Corvalán 2107      Lanus              Lanus Este
##   cod_postal origen_fin cat_topolo director internacio
## 1       1903    Público *sin dato* Sin Dato         No
## 2       1903    Público *sin dato* Sin Dato         No
## 3       1727    Público *sin dato* Sin Dato         No
## 4       1824    Público *sin dato* Sin Dato         No
## 5       1824    Público *sin dato* Sin Dato         No
## 6       1824    Público *sin dato* Sin Dato         No
caps<-select(caps,-geom, -FID,-fid, -director, -cat_topolo,-origen_fin, -cod_postal, -internacio,-fid_1)

Cambiamos nombre: domicilio por dirección en hospitales publicos.

hospitales_publicos = rename(hospitales_publicos, c(domicilio="direccion"))


head(hospitales_publicos)
##           y         x         prov
## 1 -30.61676 -57.96196   Corrientes
## 2 -30.25311 -57.62338   Corrientes
## 3 -36.38017 -59.49962 Buenos Aires
## 4 -37.31455 -59.98025 Buenos Aires
## 5 -31.64862 -60.71914     Santa Fe
## 6 -31.00683 -66.00147     La Rioja
##                                               nombre
## 1                             Hospital Base Mocoreta
## 2                        Hospital Samuel W. Robinson
## 3          Hospital Municipal Dr. Jose Casellas Sola
## 4 Hospital Local General De Agudos Dr. Horacio Ferro
## 5                     Hospital Dr. Jose Maria Cullen
## 6     Hospital Distrital Segundo B. Romero - Milagro
##                direccion          depto     localidad
## 1 Belgrano Esq Sarmiento  Monte Caseros      Mocoreta
## 2     Mitre Y San Martin  Monte Caseros Monte Caseros
## 3        25 De Mayo 1069           Azul       Cachari
## 4      Cortázar Y Alsina           Azul       Chillar
## 5        Av  Freyre 2150     La Capital      Santa Fe
## 6      Calle Uriburu S/N General Ocampo       Milagro

Agregamos un campo llamado tipo de institucion para reconocer cuáles son CAPS y Hospitales, luego guardamos archivos con los cambios.

#mutate(caps, tipo= "caps")
#mutate(hospitales_publicos, tipo= "hospital")

view(caps)

#write.csv(caps, file="caps1.csv")
#write.csv(hospitales_publicos, file="hospitales_publicos1.csv")

hospitales<-read.csv("d:/My Files(MARIANO-PC)/Native/Disco local/CURSOS/BIG_DATA/FLACSO/Modulo_geodata_antonio/tp_entregal_MOD_3/salud_cobertura/hospitales_publicos1.csv")

caps<-read.csv("d:/My Files(MARIANO-PC)/Native/Disco local/CURSOS/BIG_DATA/FLACSO/Modulo_geodata_antonio/tp_entregal_MOD_3/salud_cobertura/caps1.csv")

rm(hospitales_publicos)

Listo, ya están los df para unir y crear uno de todos los dispositivos de salud tanto de alta como de baja complejidad y asistencia primaria:

dispo_salud_pais <- rbind(hospitales,caps)

Antes de seleccionar AMBA revisemos si falta agregar algún centro de salud en la base de Sedronar, para eso usaremos los dispositivos que publican desde BA DATA.

centros_medicos_barriales <- read.csv("http://cdn.buenosaires.gob.ar/datosabiertos/datasets/centros-medicos-barriales/centros-medicos-barriales.csv",fileEncoding = "UTF-8")   

#write.csv(centros_medicos_barriales, "centros_medicos_barriales_caba.csv")

cesac <- read.csv("http://cdn.buenosaires.gob.ar/datosabiertos/datasets/centros-de-salud-y-accion-comunitaria-cesac/centros-de-salud-y-accion-comunitaria.csv",fileEncoding = "UTF-8")

#write.csv(cesac, "cesac.csv")

Limpiamos la base de Centros Médicos Barriales para luego unirla a la de CESAC y verificar si faltan dispositivos de CABA en la base que construimos anteriormente con los dispositivos de la IDE Sedronar.

Eliminamos los campos que no usaremos, renombramos algunos y creamos otro:

head(centros_medicos_barriales)
##        long       lat objectid                objeto   nombre
## 1 -58.48299 -34.62216        1 CENTRO MÉDICO BARRIAL CMB N° 2
## 2 -58.45255 -34.63564        3 CENTRO MÉDICO BARRIAL CMB N° 4
## 3 -58.39366 -34.61963        4 CENTRO MÉDICO BARRIAL CMB N° 6
## 4 -58.51924 -34.64182        5 CENTRO MÉDICO BARRIAL CMB N° 7
## 5 -58.43169 -34.64097        6 CENTRO MÉDICO BARRIAL CMB N° 8
## 6 -58.47135 -34.66984        7 CENTRO MÉDICO BARRIAL CMB N° 9
##                   domicilio piso_dto  telefono   area_prog region_san
## 1       1022 LAMARCA EMILIO          4672-0744     ALVAREZ         II
## 2          801 CARABOBO AV.          4632-7525      PIÑERO         II
## 3       1936 ESTADOS UNIDOS   P.B. A 4308-6058 RAMOS MEJIA          I
## 4 230 MARTINIANO LEGUIZAMÓN   P.B. 1 4642-5422  SANTOJANNI         II
## 5           1131 LA CAPITAL          4924-0461       PENNA          I
## 6             3512 ALBARIÑO          4601-2835      PIÑERO         II
##                                    especialid                  dom_mapa
## 1 Pediatría, Clínica médica, Tocoginecología.       Lamarca Emilio 1022
## 2 Pediatría, Clínica médica, Tocoginecología.          Carabobo av. 801
## 3 Pediatría, Clínica médica, Tocoginecología.       Estados Unidos 1936
## 4 Pediatría, Clínica médica, Tocoginecología. Martiniano Leguizamón 230
## 5 Pediatría, Clínica médica, Tocoginecología.           La Capital 1131
## 6 Pediatría, Clínica médica, Tocoginecología.             Albariño 3512
##                     dom_geo         calle_nombre calle_altura comuna
## 1       LAMARCA EMILIO 1022       LAMARCA EMILIO         1022     11
## 2          CARABOBO AV. 801         CARABOBO AV.          801      7
## 3       ESTADOS UNIDOS 1936       ESTADOS UNIDOS         1936      3
## 4 MARTINIANO LEGUIZAMÓN 230  MARTINIANO LEGUIZAM          230      9
## 5           LA CAPITAL 1131           LA CAPITAL         1131      7
## 6             ALBARIÑO 3512               ALBARI         3512      8
##             barrio codigo_postal codigo_postal_argentino
## 1 Villa Santa Rita          1407                C1407DFV
## 2           Flores          1406                C1406DGI
## 3    San Cristobal          1227                C1227ABD
## 4          Liniers          1408                C1408GWF
## 5 Parque Chacabuco          1424                C1424DCA
## 6     Villa Lugano          1439                C1439ETV
centros_medicos_barriales<-select(centros_medicos_barriales, -domicilio,-objectid,-codigo_postal, -codigo_postal_argentino,-dom_mapa,-calle_nombre,-calle_altura,-objeto,-piso_dto,-telefono,-area_prog,-region_san,-especialid)

 centros_medicos_barriales<- rename(centros_medicos_barriales, c(dom_geo="direccion", long= "longitude", lat= "latitude",barrio="localidad", comuna="depto"))
                                   
centros_medicos_barriales<-mutate(centros_medicos_barriales,prov="CABA")
  
head(centros_medicos_barriales)
##   longitude  latitude   nombre                 direccion depto
## 1 -58.48299 -34.62216 CMB N° 2       LAMARCA EMILIO 1022    11
## 2 -58.45255 -34.63564 CMB N° 4          CARABOBO AV. 801     7
## 3 -58.39366 -34.61963 CMB N° 6       ESTADOS UNIDOS 1936     3
## 4 -58.51924 -34.64182 CMB N° 7 MARTINIANO LEGUIZAMÓN 230     9
## 5 -58.43169 -34.64097 CMB N° 8           LA CAPITAL 1131     7
## 6 -58.47135 -34.66984 CMB N° 9             ALBARIÑO 3512     8
##          localidad prov
## 1 Villa Santa Rita CABA
## 2           Flores CABA
## 3    San Cristobal CABA
## 4          Liniers CABA
## 5 Parque Chacabuco CABA
## 6     Villa Lugano CABA
head(cesac)
##        long       lat id
## 1 -58.37954 -34.58462 45
## 2 -58.46736 -34.66073 43
## 3 -58.35792 -34.63133 40
## 4 -58.40225 -34.62539 38
## 5 -58.39736 -34.65604 36
## 6 -58.44246 -34.66563 34
##                                                 nombre
## 1       Centro de Salud Nivel 1 Retiro 3 (CeSAC Nº 47)
## 2 Centro de Salud Nivel 1 Villa Lugano 7 (CeSAC Nº 44)
## 3      Centro de Salud Nivel 1 La Boca 2 (CeSAC N° 41)
## 4  Centro de Salud Nivel 1 San Cristóbal (CeSAC N° 45)
## 5      Centro de Salud Nivel 1 Barracas 2 (CeSAC N° 8)
## 6 Centro de Salud Nivel 1 Villa Soldati 1 (CeSAC N° 6)
##                telefono                     jefe  area_progr region_san
## 1                                                  FERNANDEZ         IV
## 2 4601-3686/ 5573/ 9776       DR. HORACIO CRESPO      PIÑERO         II
## 3             4361-8736       DRA. NOEMI LEDESMA    ARGERICH          I
## 4 4941-0969/ 0826/ 1987 DRA. Natalia Zampichiati RAMOS MEJIA          I
## 5             4302-3825     DRA. BEATRIZ BELLONI       PENNA          I
## 6             4918-4879      DR. GUILLERMO MORIS      PIÑERO         II
##                                                                                                                                                                                                                                      especialid
## 1                                                                                                                                                                                                                                           S/D
## 2 Cardiología, Clínica médica, Enfermería, Farmacéutico, Ginecología, Kinesiología, Medicina general y/o familiar, Nutrición, Obstetricia, Odontología, Pediatría, Psicología, Tec. Radióloga, , Tocoginecología, Trabajo social, Traumatología
## 3                                         Clinica médica/geriatría, Cs. Educacion, Enfermería, Ginecología, Medicina general y/o familiar, Nutrición, Obstetricia, Odontología, Psicología, Psicopedagogía, Psiquiatría infanil, Trabajo social
## 4                                                                             Enfermería, Farmacéutico, Fonoaudiología, Ginecología, Kinesiología, Medicina general y/o familiar, Nutrición, Pediatría, Psicología, Psiquiatría, Trabajo social
## 5                                                                                         Clinica médica, Farmacéutico, Ginecología, Medicina general y/o familiar, Obstetricia, Pediatría, Psicología, Trabajo social, Nutrición y Psiquiatría
## 6                                        Clínica médica, Enfermería, Farmacéutico, Fonoaudiología, Medicina general, Nutrición, Obstetricia, Odontología, Pediatría, Psicología, Psicopedagogía, Salud escolar, Tocoginecología, Trabajo social
##            calle altura                                         calle2
## 1  RODOLFO WALSH      0                                        PERETTE
## 2         SARAZA   4202                                               
## 3  BRIN MINISTRO    843                                               
## 4     COCHABAMBA   2622                                               
## 5   CRUZ OSVALDO      0                                           LUNA
## 6 ACOSTA MARIANO   3673 AV INTENDENTE RABANAL FRANCISCO (EX ROCA CNEL)
##                             direccion
## 1 WALSH, RODOLFO y PERETTE, CARLOS H.
## 2                         SARAZA 4202
## 3                  BRIN, Ministro 843
## 4                     COCHABAMBA 2622
## 5                CRUZ, OSVALDO y LUNA
## 6                ACOSTA, MARIANO 3673
##                                                                               observacio
## 1                                                                          Galpón Retiro
## 2 Más información en: http://www.buenosaires.gob.ar/salud/centro-de-salud-villa-lugano-7
## 3      Más información en: http://www.buenosaires.gob.ar/salud/centro-de-salud-la-boca-2
## 4  Más información en: http://www.buenosaires.gob.ar/salud/centro-de-salud-san-cristobal
## 5     Más información en: http://www.buenosaires.gob.ar/salud/centro-de-salud-barracas-2
## 6  Más información en: http://www.buenosaires.gob.ar/salud/centro-de-salud-villa-soldati
##      nom_ante vih servicios_ efe_salud vacunat_ comuna        barrio
## 1 CeSAC N° 47 S/D        S/D       S/D      S/D      1        RETIRO
## 2 CeSAC N° 44  SI         SI        SI       SI      8  VILLA LUGANO
## 3 CeSAC N° 41  SI         SI        SI       SI      4          BOCA
## 4 CeSAC N° 45  NO         SI        SI       SI      3 SAN CRISTOBAL
## 5  CeSAC N° 8  SI         SI        SI       NO      4      BARRACAS
## 6  CeSAC N° 6  NO         SI        SI       SI      8 VILLA SOLDATI
##   codigo_postal codigo_postal_argentino
## 1            NA                        
## 2          1439                C1439AOB
## 3          1158                C1158AAI
## 4          1252                C1252AAR
## 5            NA                        
## 6          1437                C1437CEE
cesac<-rename(cesac,c( long= "longitude", lat= "latitude",barrio="localidad", comuna="depto")) %>% mutate(prov= "CABA") 

cesac<-select(cesac,-telefono,-region_san, -id, -telefono, -codigo_postal, -codigo_postal_argentino, -jefe,- area_progr, -especialid, -calle, -altura,-  calle2, -observacio ,-nom_ante ,-vih ,-servicios_ ,-efe_salud ,-vacunat_)

Creamos campo tipo para no perder el origen del dato, guardamos cambios y traemos la tabla.

#mutate(cesac, tipo= "cesac")
#mutate(centros_medicos_barriales, tipo= "cm_barrial")

#write.csv(cesac, file="cesac1.csv")
#write.csv(centros_medicos_barriales, file="cm_barrial.csv")

cesac<-read.csv("cm_barrial.csv")
cm_barrial<-read.csv("cm_barrial.csv")
rm(centros_medicos_barriales)

Ya están listas las tablas para unir y crear un solo df con los dispositivos de salud de CABA provenientes de BA data:

dispo_salud_caba <- rbind(cesac,cm_barrial)

3.TRABAJANDO SOLO CON LOS DATOS DE AMBA

Ya tenemos la base de dispositivos de salud pública(IDE Sedronar, que llamaremos base única) con dispositivos de salud pública de las provincias del país y la base de dispositivos de la Ciudad Autónoma de Buenos Aires (CABA). Solo necesitamos los dispositivos del AMBA, por lo que procedemos a filtrar. Posteriormente crearemos un mapa interactivo para comparar los puntos del df dispositivos de salud de CABA con los de Sedronar y verificar si hace falta agregar alguno a la base única.

Antes de realizar el filtro de los dispositivo que necesitamos, es necesario mencionar que el AMBA es la zona urbana común que conforman la CABA y los siguientes 40 municipios de la Provincia de Buenos Aires: Almirante Brown, Avellaneda, Berazatagui, Berisso, Brandsen, Campana, Cañuelas, Ensenada, Escobar, Esteban Echeverría, Exaltación de la Cruz, Ezeiza, Florencio Varela, General Las Heras, General Rodríguez, General San Martín, Hurlingham, Ituzaingó, José C. Paz, La Matanza, Lanús, La Plata, Lomas de Zamora, Luján, Marcos Paz, Malvinas Argentinas, Moreno, Merlo, Morón, Pilar, Presidente Perón, Quilmes, San Fernando, San Isidro, San Miguel, San Vicente, Tigre, Tres de Febrero, Vicente López, y Zárate.Se trata de una megaciudad que se extiende desde Campana hasta La Plata, con límite físico en el Rio de la Plata e imaginario en la Ruta Provincial 6, y recorre una superficie de 13.285 km2. Según el censo de 2010, cuenta con 14.800.000 habitantes, que representan el 37% aproximadamente de los habitantes de la Argentina. *(extraído de https://www.buenosaires.gob.ar/gobierno/unidades%20de%20proyectos%20especiales%20y%20puerto/que-es-amba)

A continuación seleccionaremos de la base única los dispositivos que corresponden al AMBA.

dispo_salud_amba<-filter(dispo_salud_pais, prov== "Buenos Aires"|prov=="Caba") %>% filter(depto== "Almirante Brown" | depto== "Avellaneda"|depto== "Berazatagui"| depto=="Berisso"|depto=="Brandsen"| depto=="Campana"|depto== "Cañuelas"                                                                              |depto=="Ensenada"|depto=="Escobar"|depto=="Esteban Echeverria"|depto== "Exaltacion de la Cruz"|
                                                                                          depto== "Ezeiza"| depto=="Florencio Varela"|depto== "General Las Heras"|depto== "General Rodriguez"|
                                                                                                  depto=="General San Martin"| depto=="Hurlingham"
                                                                                          | depto=="Ituzaingo"|depto=="Jose C Paz"|depto== "La Matanza"|depto=="Lanus"|depto== "La Plata"|depto== "Lomas de Zamora"|depto== "Lujan"|depto== "Marcos Paz"|depto== "Malvinas Argentinas"|depto== "Moreno"| depto=="Merlo"| depto=="Moron"| depto=="Pilar"|depto==" Presidente Peron"| depto=="Quilmes"|depto== "San Fernando"| depto=="San Isidro"|depto== "San Miguel"|depto== "San Vicente"|depto== "Tigre"| depto=="Tres de Febrero"|depto== "Vicente Lopez"|depto=="Zarate"|depto=="Ciudad De Buenos Aires")

MAPEANDO DISPOSITIVO DE SALUD PÚBLICA

Creamos un mapa interactivo con los dispositivos de salud pública del AMBA: base única + base BA data y observamos que existen dispositivos en CABA (base BA data) que no estaban en la base única. En consecuencia, realizaremos la unión de ambos df.

leaflet() %>% 
    addTiles() %>%
   addCircleMarkers(radius = 3
                    , color = "green",data = dispo_salud_amba,
                         popup = paste(dispo_salud_amba$nombre,"<br>",dispo_salud_amba$localidad,"<br>",
                                          dispo_salud_amba$depto,"<br>",
                                   dispo_salud_amba$prov)) %>% 
  addCircleMarkers(radius = 4
                    , color = "red",data = dispo_salud_caba, popup = paste(dispo_salud_caba$nombre,"<br>",dispo_salud_caba$localidad,"<br>",
                                          dispo_salud_caba$depto,"<br>",
                                   dispo_salud_caba$prov))
## Assuming "longitude" and "latitude" are longitude and latitude, respectively
## Assuming "longitude" and "latitude" are longitude and latitude, respectively

UNIÓN DE BASES: base única + base CABA

dispo_salud_AMBA <- rbind(dispo_salud_amba,dispo_salud_caba)
## Warning in `[<-.factor`(`*tmp*`, ri, value = c(11L, 9L, 7L, 3L, 9L, 7L, :
## invalid factor level, NA generated
rm(dispo_salud_amba)


# visualizamos como quedó la totalidad de dispositivos de salud para el AMBA:
leaflet() %>% 
    addTiles() %>%
   addCircleMarkers(radius = 3
                    , color = "orange",data = dispo_salud_AMBA,
                         popup = paste(dispo_salud_AMBA$nombre,"<br>",dispo_salud_AMBA$localidad,"<br>",
                                          dispo_salud_AMBA$depto,"<br>",
                                   dispo_salud_AMBA$prov))
## Assuming "longitude" and "latitude" are longitude and latitude, respectively

CREANDO VARIABLE E INTERSECTANDO CAPAS

Ya tenemos la base de dispositivos de salud pública del AMBA. Lo que necesitamos para cumplir con nuestro objetivo es contruir el buffer de 1km desde cada dispositivo y cruzar esa información con los poligonos que contengan mayor porcentaje de hogares con NBI.

Primero traemos y procesamos los datos espaciales de los radios con la variable Hogares con NBI y la capa de departamentos.

Datos_radios<-st_read('D:/My Files(MARIANO-PC)/Native/Disco local/SIG Y ESTADISTICOS/SHAPES/shape censo/MAPEO_DATOS_10/DATOS_RADIOS_CENSO10.shp')
## Reading layer `DATOS_RADIOS_CENSO10' from data source `D:\My Files(MARIANO-PC)\Native\Disco local\SIG Y ESTADISTICOS\SHAPES\shape censo\MAPEO_DATOS_10\DATOS_RADIOS_CENSO10.shp' using driver `ESRI Shapefile'
## Simple feature collection with 52653 features and 28 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: -73.5708 ymin: -55.05562 xmax: -53.6372 ymax: -21.78078
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs
Datos_depto<-st_read ('D:/My Files(MARIANO-PC)/Native/Disco local/SIG Y ESTADISTICOS/SHAPES/shape censo/MAPEO_DATOS_10/DATOS_DEPTO_RMBA_CENSO10.shp')
## Reading layer `DATOS_DEPTO_RMBA_CENSO10' from data source `D:\My Files(MARIANO-PC)\Native\Disco local\SIG Y ESTADISTICOS\SHAPES\shape censo\MAPEO_DATOS_10\DATOS_DEPTO_RMBA_CENSO10.shp' using driver `ESRI Shapefile'
## Simple feature collection with 55 features and 25 fields
## geometry type:  MULTIPOLYGON
## dimension:      XY
## bbox:           xmin: -59.37824 ymin: -35.42315 xmax: -57.70946 ymax: -33.80725
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs

Luego intersectamos la capa de departamentos del AMBA con la de Radio censal para quedarnos solamente con los radios de la región de interés, luego crearemos un buffer de 1km de distancia a los dispositivos de salud para saber si aquellos hogares que viven en un contexto de alta vulnerabilidad social poseen acceso a un servicio de salud pública a menos de un 1km de su domicilio.

Hacemos la instersección y mapeamos los radios del AMBA para revisarlos.

RMBA_radios1<- st_intersection(Datos_radios,Datos_depto)
## although coordinates are longitude/latitude, st_intersection assumes that they are planar
## Warning: attribute variables are assumed to be spatially constant
## throughout all geometries
rm(Datos_radios)

ggplot()+ geom_sf(data = RMBA_radios1)

#RMBA_radios<-st_write(RMBA_radios, "RMBA_depto_radios_datos.shp")

# Guardamos y eliminamos los campos que no usaremos por el momento.

getwd()
## [1] "D:/My Files(MARIANO-PC)/Native/Disco local/CURSOS/BIG_DATA/FLACSO/Modulo_geodata_antonio/tp_entregal_MOD_3/salud_cobertura"
#st_write(RMBA_radios3,"RMBA_radios3.shp")

RMBA_radios3<-st_read('RMBA_radios3.shp')
## Reading layer `RMBA_radios3' from data source `D:\My Files(MARIANO-PC)\Native\Disco local\CURSOS\BIG_DATA\FLACSO\Modulo_geodata_antonio\tp_entregal_MOD_3\salud_cobertura\RMBA_radios3.shp' using driver `ESRI Shapefile'
## Simple feature collection with 17006 features and 40 fields
## geometry type:  MULTIPOLYGON
## dimension:      XY
## bbox:           xmin: -59.37824 ymin: -35.42315 xmax: -57.70946 ymax: -33.80725
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs
RMBA_radios3<-select(RMBA_radios1,-(PAIS9410_ :RADIO)) %>% select(-(OBR_SOCIAL:PROG_PUB)) %>% select(-codpcia,-JOIN.1,-sin_NBI)

summary(RMBA_radios3)
##       AREA             PERIMETER         TIPO            JOIN         
##  Min.   :     3348   Min.   :  231.6   M   :  260   Min.   :20010101  
##  1st Qu.:    63150   1st Qu.: 1131.4   R   :  363   1st Qu.:60280706  
##  Median :   114273   Median : 1509.0   U   :12230   Median :64271410  
##  Mean   :  1493341   Mean   : 2751.3   NA's: 4153   Mean   :53775595  
##  3rd Qu.:   202257   3rd Qu.: 2102.2                3rd Qu.:65392512  
##  Max.   :243362800   Max.   :84240.4                Max.   :68821803  
##                                                                       
##      VARON            MUJER            TOTAL           Hsin_nbi     
##  Min.   :   0.0   Min.   :   0.0   Min.   :   0.0   Min.   :   0.0  
##  1st Qu.: 323.0   1st Qu.: 368.0   1st Qu.: 694.0   1st Qu.: 221.0  
##  Median : 432.0   Median : 478.0   Median : 911.0   Median : 280.0  
##  Mean   : 469.1   Mean   : 504.3   Mean   : 973.5   Mean   : 281.5  
##  3rd Qu.: 580.0   3rd Qu.: 617.0   3rd Qu.:1197.2   3rd Qu.: 343.0  
##  Max.   :3647.0   Max.   :3108.0   Max.   :5895.0   Max.   :1245.0  
##  NA's   :2        NA's   :2        NA's   :2        NA's   :2       
##     HCon_NBI         Total_H                     PorcCNBI    
##  Min.   :  0.00   Min.   :   0.0   0                 : 1047  
##  1st Qu.:  3.00   1st Qu.: 241.8   14.285714285714286:   34  
##  Median : 14.00   Median : 304.0   10                :   31  
##  Mean   : 26.97   Mean   : 308.4   11.111111111111111:   30  
##  3rd Qu.: 39.00   3rd Qu.: 373.0   16.666666666666668:   26  
##  Max.   :776.00   Max.   :1370.0   (Other)           :15836  
##  NA's   :2        NA's   :2        NA's              :    2  
##     o_social        pre_paga_o       pre_paga_p        progra_pub    
##  Min.   :   0.0   Min.   :   0.0   Min.   :   0.00   Min.   :   0.0  
##  1st Qu.: 252.0   1st Qu.:  31.0   1st Qu.:   6.00   1st Qu.:   0.0  
##  Median : 426.0   Median :  99.0   Median :  34.00   Median :   0.0  
##  Mean   : 472.7   Mean   : 140.3   Mean   :  69.26   Mean   :  12.7  
##  3rd Qu.: 623.0   3rd Qu.: 204.0   3rd Qu.:  97.00   3rd Qu.:  11.0  
##  Max.   :4862.0   Max.   :1692.0   Max.   :1319.00   Max.   :2129.0  
##  NA's   :1298     NA's   :1298     NA's   :1298      NA's   :1298    
##     sin_cob          Total_1        PorNcober        viila_si      
##  Min.   :   0.0   Min.   :    1   0      :  328   Min.   :   0.00  
##  1st Qu.:  71.0   1st Qu.:  637   100    :   25   1st Qu.:   0.00  
##  Median : 204.0   Median :  933   40     :   20   Median :   0.00  
##  Mean   : 357.2   Mean   : 1052   20     :   18   Mean   :  23.12  
##  3rd Qu.: 500.2   3rd Qu.: 1319   50     :   15   3rd Qu.:   0.00  
##  Max.   :9139.0   Max.   :15214   (Other):15302   Max.   :2039.00  
##  NA's   :1298     NA's   :1298    NA's   : 1298   NA's   :1298     
##     villa_no         Tot_VIV         Porc_villa     
##  Min.   :   0.0   Min.   :   0.0   Min.   :  0.000  
##  1st Qu.: 197.0   1st Qu.: 221.0   1st Qu.:  0.000  
##  Median : 277.0   Median : 287.0   Median :  0.000  
##  Mean   : 286.6   Mean   : 309.7   Mean   :  7.518  
##  3rd Qu.: 357.0   3rd Qu.: 370.2   3rd Qu.:  0.000  
##  Max.   :2628.0   Max.   :3507.0   Max.   :100.000  
##  NA's   :1298     NA's   :1298     NA's   :1298     
##            departamen                              provincia    
##  La Matanza     : 1335   Buenos Aires                   :12830  
##  La Plata       :  865   Ciudad Autónoma de Buenos Aires: 4176  
##  Lomas de Zamora:  662                                          
##  Quilmes        :  604                                          
##  Lanús          :  557                                          
##  Almirante Brown:  515                                          
##  (Other)        :12468                                          
##     mujeres         varones         personas        hogares     
##  909126 : 1335   866690 : 1335   1775816: 1335   484909 : 1335  
##  339061 :  865   315263 :  865   654324 :  865   221313 :  865  
##  319237 :  662   297042 :  662   616279 :  662   188844 :  662  
##  301015 :  604   281928 :  604   582943 :  604   177110 :  604  
##  240390 :  557   218873 :  557   459263 :  557   149594 :  557  
##  282655 :  515   270247 :  515   552902 :  515   156918 :  515  
##  (Other):12468   (Other):12468   (Other):12468   (Other):12468  
##     viv_part       viv_part_h       CON_NBI          Total       
##  447306 : 1335   405338 : 1335   Min.   :  323   Min.   :  4641  
##  259352 :  865   209888 :  865   1st Qu.: 3329   1st Qu.: 75512  
##  188186 :  662   167304 :  662   Median : 8736   Median :100777  
##  182216 :  604   163717 :  604   Mean   :12438   Mean   :134303  
##  157867 :  557   137132 :  557   3rd Qu.:17552   3rd Qu.:149106  
##  156204 :  515   142614 :  515   Max.   :54118   Max.   :485096  
##  (Other):12468   (Other):12468                                   
##     POR_CNBI         SIN_COB          TOT_PERS          PORC_SIN   
##  Min.   : 1.523   Min.   :  4061   Min.   :  14889   Min.   : 6.0  
##  1st Qu.: 4.918   1st Qu.: 38190   1st Qu.: 189470   1st Qu.:26.0  
##  Median : 9.294   Median :104655   Median : 322193   Median :32.0  
##  Mean   : 8.687   Mean   :161429   Mean   : 438375   Mean   :31.2  
##  3rd Qu.:11.556   3rd Qu.:213430   3rd Qu.: 527344   3rd Qu.:41.0  
##  Max.   :18.365   Max.   :801729   Max.   :1776156   Max.   :51.0  
##                                                                    
##     villa_Si        Villa_No         TOT_VIV         PORC_VILLA    
##  Min.   :    0   Min.   :  4466   Min.   :  4466   Min.   : 0.000  
##  1st Qu.: 1663   1st Qu.: 68819   1st Qu.: 71449   1st Qu.: 3.255  
##  Median : 5959   Median : 93089   Median : 98197   Median : 6.284  
##  Mean   :10364   Mean   :113294   Mean   :123658   Mean   : 7.171  
##  3rd Qu.:12819   3rd Qu.:127895   3rd Qu.:138551   3rd Qu.: 9.091  
##  Max.   :39460   Max.   :394575   Max.   :434035   Max.   :27.406  
##                                                                    
##           geometry    
##  MULTIPOLYGON :  201  
##  POLYGON      :16805  
##  epsg:4326    :    0  
##  +proj=long...:    0  
##                       
##                       
## 

Creamos la variable porcentaje de hogares con NBI a nivel radio censal

RMBA_radios3a<-mutate(RMBA_radios3,porc_con_nbi_r=(HCon_NBI/Total_H)*100) 
rm(RMBA_radios3)

# Sabemos que en la capa de radios existen diferentes variables y muchas de ellas tienen NA como por ejemplo aquellas que corresponden al cuestionario ampliado del CPHV 2010. en este caso revisaremos si hay algún NA dentro de la columna % de hogares por NBI (porc_con_nbi_r) que es la que nos interesa, revisemos: observamos que existe 6 de 17006 radios, no es  un numero importante y por el mapeo que se realizó previamente tampoco son importantes en cuando a peso (cantidad de poblacion) por lo que procederemos a extraerlos para que no figuren dentro de las referencias del mapa.


sapply(RMBA_radios3a, function(x) sum(is.na(x)))
##           AREA      PERIMETER           TIPO           JOIN          VARON 
##              0              0           4153              0              2 
##          MUJER          TOTAL       Hsin_nbi       HCon_NBI        Total_H 
##              2              2              2              2              2 
##       PorcCNBI       o_social     pre_paga_o     pre_paga_p     progra_pub 
##              2           1298           1298           1298           1298 
##        sin_cob        Total_1      PorNcober       viila_si       villa_no 
##           1298           1298           1298           1298           1298 
##        Tot_VIV     Porc_villa     departamen      provincia        mujeres 
##           1298           1298              0              0              0 
##        varones       personas        hogares       viv_part     viv_part_h 
##              0              0              0              0              0 
##        CON_NBI          Total       POR_CNBI        SIN_COB       TOT_PERS 
##              0              0              0              0              0 
##       PORC_SIN       villa_Si       Villa_No        TOT_VIV     PORC_VILLA 
##              0              0              0              0              0 
##       geometry porc_con_nbi_r 
##              0              6
#eliminamos NA del campo porc_con_nbi_r

RMBA_radios3a <- RMBA_radios3a[!is.na(RMBA_radios3a$porc_con_nbi_r),]

MAPEANDO PORCENTAJE DE HOGARES CON MAS DE 30% DE NBI EN AMBA

Para tener una primer aproximación de la zonas con mayor porcentaje de NBI,filtramos aquellos radios con mas del 30% (8.5% de los hogares del AMBA tienen NBI):como se puede observar existen radios distribuidos de manera heterogenea principalmente en el conurbano bonaerense sur y oeste donde mas del 30% de los hogares tienen NBI. Este es un dato preliminar que no nos llega a aportar mucha información, falta precisión en la localización, que se visualizará en el producto final.

ggplot() + geom_sf(data = RMBA_radios3a, aes(fill = porc_con_nbi_r>30) , color = NA)

4. CREANDO ÁREA DE INFLUENCIA DESDE LOS DISPOSITIVOS DE SALUD

El próximo paso es crear el buffer de 1km a cada dispositivo y superponerlo con los radios mapeados anteriormente. Antes de esto, tomamos el df de dispo_salud_AMBA, el cual convertimos a shape y luego creamos un buffer sobre esa capa que debemos reproyectar a planas.

dispo_salud_AMBA_shape<-st_as_sf(dispo_salud_AMBA,coords = c( "longitude","latitude"),crs = 4326)

Creamos buffer de 1km a cada dospositivo de salud:

dispo_salud_AMBA_shape = st_transform(dispo_salud_AMBA_shape, 5348)
dispo_AMBA_buffer1000m <- st_buffer(dispo_salud_AMBA_shape, dist = 1000)


## REPROYECTO A LAT/LONG WGS84
dispo_AMBA_buffer1000m= st_transform(dispo_AMBA_buffer1000m, 4326)
dispo_salud_AMBA_shape = st_transform(dispo_salud_AMBA_shape, 4326)

Antes de armar el mapa interactivo con los insumos necesarios planteados el comienzo para cumplir con el objetivo general, nos falta traer al proyecto la capa de calles del AMBA que nos permitirá visualizar la accesibilidad a los centros de salud.

calles_AMBA<- st_read("D:/My Files(MARIANO-PC)/Native/Disco local/CURSOS/BIG_DATA/FLACSO/SIG/shape/callesAMBA/Calles_zona_metropolitana/Calles_zona_metropolitana.shp")
## Reading layer `Calles_zona_metropolitana' from data source `D:\My Files(MARIANO-PC)\Native\Disco local\CURSOS\BIG_DATA\FLACSO\SIG\shape\callesAMBA\Calles_zona_metropolitana\Calles_zona_metropolitana.shp' using driver `ESRI Shapefile'
## Simple feature collection with 125517 features and 8 fields
## geometry type:  LINESTRING
## dimension:      XY
## bbox:           xmin: -60.01281 ymin: -35.52648 xmax: -57.69995 ymax: -33.89241
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs
head(calles_AMBA)
## Simple feature collection with 6 features and 8 fields
## geometry type:  LINESTRING
## dimension:      XY
## bbox:           xmin: -58.62086 ymin: -34.82062 xmax: -58.42211 ymax: -34.40338
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs
##      osm_id                 name  ref        type oneway bridge tunnel
## 1 252906523                 <NA> <NA> residential      0      0      0
## 2 252906524                 <NA> <NA> residential      1      0      0
## 3 252906526                 <NA> <NA> residential      0      0      0
## 4 252906522                 <NA> <NA> residential      0      0      0
## 5  38151981 Eustaquio Díaz Vélez <NA> residential      1      0      0
## 6  38151982             Portugal <NA> residential      1      0      0
##   maxspeed                       geometry
## 1       NA LINESTRING (-58.61626 -34.4...
## 2       NA LINESTRING (-58.61835 -34.4...
## 3       NA LINESTRING (-58.61933 -34.4...
## 4       NA LINESTRING (-58.62006 -34.4...
## 5       NA LINESTRING (-58.43555 -34.8...
## 6       NA LINESTRING (-58.4289 -34.81...

5.CREACIÓN DE MAPA INTERACTIVO PARA ANALIZAR LA COBERTURA DE DISPOSITIVOS DE SALUD PÚBLICA EN RELACIÓN AL PORCENTAJE DE HOGARES CON NBI EN EL AMBA.

A continuación realizamos el procesamiento para finalmente cumplir con nuestro objetivo: crear un mapa interactivo que muestre las capas de información procesadas anteriormente que nos permita detectar las zonas donde existen porcentajes elevados de hogares con NBI y analizar la cobertura de dispositivo de salud.

CREACIÓN DE MAPA INTERACTIVO EN LEAFLET

Se cruzarán las capas de:

La visualización del porcentaje de Hogares con NBI se representará con una paleta de diferentes tonalidades de rojo.

La capa de calles fue descartada debido a que el peso de la misma generaba problemas en la visualización del mapa interactivo. Igualmente, el mapa base de Leaflet será suficiente para visualizar las calles y relacionar distancias.

El mapa creado ofrece la posibilidad de activar/desactivar capas para un mejor análisis de la información espacial.

# creo paleta de colores para las referencias de los hogares con NBI
pal <- colorNumeric(
  palette = "Reds",
  domain = RMBA_radios3a$porc_con_nbi_r)


# creo mapa interactivo (Producto final)


leaflet(RMBA_radios3a) %>%
    addTiles(group = "OSM (default)") %>% 
   addPolygons(stroke = FALSE,smoothFactor = 0.2, fillOpacity = 1, color=~pal(porc_con_nbi_r), group = "NBI%",  popup = paste("<b>Provincia:</b>" ,RMBA_radios3a$provincia,"<br>","<b>Departamento:</b>",RMBA_radios3a$departamen,"<br>",
                                          "<b>Total de Hogares:</b>",RMBA_radios3a$Total_H,"<br>","<b>% de hogares con NBI:</b>",
                                   RMBA_radios3a$porc_con_nbi_r)) %>%  addPolygons(data = dispo_AMBA_buffer1000m, stroke = FALSE,color = "green",fillOpacity = 0.3, smoothFactor = 0.5, group = "Buffer 1km")  %>% 
  addPolygons(data = Datos_depto,stroke = TRUE,color = "blue",fillOpacity = 0.1, smoothFactor = 0.2, group = "Deptos", popup = paste( "<b>Departamento:</b>",Datos_depto$departamen,"<br>","<b>Total de hogares:</b>",Datos_depto$hogares,"<br>","<b>% de hogares con NBI:</b>",
                                          Datos_depto$POR_CNBI,"<br>","<b>% de villas:</b>",
                                   Datos_depto$PORC_VILLA))%>%  addCircleMarkers(radius = 2, color = "yellow",data = dispo_salud_AMBA_shape, group = "Dispositivos Salud",  popup = paste("<b>Departamento:</b>",dispo_salud_AMBA_shape$depto,"<br>","<b>Localidad:</b>",dispo_salud_AMBA_shape$localidad,"<br>","<b>Nombre:</b>", dispo_salud_AMBA_shape$nombre,"<br>","<b>Dirección:</b>",                          dispo_salud_AMBA_shape$direccion)) %>%  addLegend(title = "% Hogares con NBI", pal = pal, values = ~porc_con_nbi_r) %>% 
  addLayersControl(
    baseGroups = c("OSM (default)"),
    overlayGroups = c("Deptos","NBI%","Dispositivos Salud","Buffer 1km"),
    options = layersControlOptions(collapsed = TRUE)
  )

6.ANÁLISIS A PARTIR DEL MAPA INTERACTIVO CREADO

A partir del mapa creado cumplimos con el objetivo planteado: crear un producto que nos permita analizar la relación existente entre la distribución geográfica de los dispositivos de salud pública (oferta) y los hogares con Necesidades Básicas Insatisfechas (potencial demanda)en el Área Metropolitana de Buenos Aires (AMBA).

El mapa nos permite visualizar a nivel radio censal alrededor del AMBA como se distribuye la oferta de dispostivo de salud, a donde cualquier persona podría acudir para recibir atención ya sea de baja o alta complejidad (hospitales o Centros de Atención Primaria de la Salud, entre otros).

Todos aquellos poligonos (radios) con altos porcentajes de NBI y fuera del área de influencia creado (1km) nos estaríaN indicando que existe demanda potencial que no tendría una accesibilidad adecuada al centro de salud, de acuerdo a los criterios planteados al comienzo.

A este mapa se pueden sumar otras variables y/o capas como pueden ser el Registro Nacional de Barrios Populares, incluso medir la distancia a través de los centroides de éstos hasta los dispositivos de salud o incluso con las mismas capas y variables que se presentaron aquí, realizar análisis geoestadísticos a diferentes escalas geográficas. Seguramente esos análisis y quizás otros se sumarán próximamente.