1.1 Instalar paquetes necesarios para que se actualicen
#install.packages("tidyverse")
#install.packages("ggplot2")
#install.packages("sf")
#install.packages("data.table")
1.2 Quito notacion cientifica
options(scipen=999)
1.3 Inicializar librerias
library(tidyverse)
## ── Attaching packages ───────────────────────────────────────────── tidyverse 1.2.1 ──
## ✔ ggplot2 3.2.0 ✔ purrr 0.3.2
## ✔ tibble 2.1.1 ✔ dplyr 0.8.1
## ✔ tidyr 0.8.3 ✔ stringr 1.4.0
## ✔ readr 1.3.1 ✔ forcats 0.4.0
## ── Conflicts ──────────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
library(dplyr)
library(sf)
## Linking to GEOS 3.6.1, GDAL 2.1.3, PROJ 4.9.3
library(readxl)
library(data.table)
##
## Attaching package: 'data.table'
## The following objects are masked from 'package:dplyr':
##
## between, first, last
## The following object is masked from 'package:purrr':
##
## transpose
Los datos relevados se obtuvieron del catalogo de datos abiertos brindados por el sitio de la provincia de Buenos Aires:
https://catalogo.datos.gba.gob.ar/dataset/transferencias-municipios https://catalogo.datos.gba.gob.ar/dataset/poblacion https://catalogo.datos.gba.gob.ar/dataset/partos-cesareas https://catalogo.datos.gba.gob.ar/dataset/mortalidad https://catalogo.datos.gba.gob.ar/dataset/egresos-hospitalarios https://catalogo.datos.gba.gob.ar/dataset/rendimientos-establecimientos-salud https://catalogo.datos.gba.gob.ar/dataset/nacidos-vivos https://catalogo.datos.gba.gob.ar/dataset/partidos
El objetivo de este trabajo es:
Utilizar las herramientas aprendidas durante el curso de la materia Introducción al análisis de Datos, para analizar, visualizar los datos relevados y comunicar los resultados. Las tareas desarrolladas, tienen por finalidad dar posibles respuestas a los siguientes interrogantes:
Cuál es la relacion existente entre los recursos economicos recibidos por un municipio, y la performance de las variables mortalidad general, infantil y materna.
Cuál es la relación entre recursos recibidos y ocurrencias/causas de egreso en los hospitales y centros de salud municipales.
Cual es la relacion entre nacimientos con bajo peso y mortalidad infantil.
Existe relacion entre practicas de cesareas y mortalidad infantil por municipio.
Estimacion de la mortalidad, de acuerdo a la evolucion de los recursos recibidos siguiendo la tendencia histórica, y el crecimiento poblacional esperado.
Establecer si existe correlacion entre los recursos transferidos desde la provincia a las regiones, y el crecimiento de la población.
Establecer si existe alguna correlatividad entre las variables de recursos transferidos a los partidos y la mortalidad general.
Verificar en un mapa de la provincia, las 3 regiones con mayor mortalidad general.
3.1 Leer Bases de Datos
3.1.1 Proyeccion de Poblacion por municipio:
En este CSV se cambiaron separadores de ; a , y se quitaron los . en la edicion de las cantidades numericas y se cambiaron los caracteres especiales de Ñ o acentos por letras. Leo y muestro ejemplos de datos e informacion sumaria.
#Lee y verifica datos y caracteristica de la base
Poblacion<-read.csv("/Users/gabrielamillone/Dropbox/Artificial Inteligencia/FLACSO/Practica_Ciencia_Datos/BASES OK/Proyeccion_Poblacion3.csv",stringsAsFactors = FALSE)
head(Poblacion)
## Municipio X2010 X2011 X2012 X2013 X2014 X2015 X2016
## 1 ADOLFO ALSINA 17222 17249 17276 17303 17330 17356 17382
## 2 ADOLFO GONZALES CHAVES 12168 12142 12116 12091 12065 12040 12016
## 3 ALBERTI 10746 10773 10799 10824 10850 10875 10900
## 4 ALMIRANTE BROWN 557025 561349 565509 569911 574263 578513 582541
## 5 ARRECIFES 29252 29473 29690 29905 30117 30326 30532
## 6 AVELLANEDA 345752 346847 347924 348999 350080 351165 352246
## X2017 X2018 X2019 X2020 X2021 X2022 X2023 X2024 X2025
## 1 17407 17433 17458 17483 17507 17532 17556 17580 17603
## 2 11992 11968 11944 11922 11899 11877 11855 11832 11811
## 3 10924 10948 10972 10995 11018 11041 11064 11085 11107
## 4 586564 590418 594270 597969 601618 605271 608878 612438 616000
## 5 30735 30936 31133 31328 31520 31709 31895 32078 32259
## 6 353273 354314 355352 356392 357440 358512 359550 360583 361532
summary(Poblacion)
## Municipio X2010 X2011 X2012
## Length:135 Min. : 1780 Min. : 1783 Min. : 1785
## Class :character 1st Qu.: 15934 1st Qu.: 15864 1st Qu.: 15795
## Mode :character Median : 32841 Median : 33260 Median : 33676
## Mean : 116422 Mean : 117849 Mean : 119264
## 3rd Qu.: 106153 3rd Qu.: 107078 3rd Qu.: 107995
## Max. :1777530 Max. :1830526 Max. :1883251
## X2013 X2014 X2015 X2016
## Min. : 1788 Min. : 1791 Min. : 1794 Min. : 1796
## 1st Qu.: 15737 1st Qu.: 15823 1st Qu.: 15984 1st Qu.: 16150
## Median : 34027 Median : 34421 Median : 34894 Median : 35288
## Mean : 120664 Mean : 122046 Mean : 123407 Mean : 124749
## 3rd Qu.: 108902 3rd Qu.: 109798 3rd Qu.: 110679 3rd Qu.: 111550
## Max. :1935394 Max. :1986784 Max. :2037428 Max. :2087359
## X2017 X2018 X2019 X2020
## Min. : 1799 Min. : 1801 Min. : 1804 Min. : 1807
## 1st Qu.: 16313 1st Qu.: 16496 1st Qu.: 16633 1st Qu.: 16753
## Median : 35540 Median : 35701 Median : 36022 Median : 36545
## Mean : 126074 Mean : 127381 Mean : 128668 Mean : 129934
## 3rd Qu.: 112407 3rd Qu.: 113254 3rd Qu.: 114088 3rd Qu.: 114908
## Max. :2136695 Max. :2185597 Max. :2233860 Max. :2281194
## X2021 X2022 X2023 X2024
## Min. : 1809 Min. : 1812 Min. : 1814 Min. : 1816
## 1st Qu.: 16868 1st Qu.: 16982 1st Qu.: 17094 1st Qu.: 17204
## Median : 37156 Median : 37258 Median : 37719 Median : 38172
## Mean : 131182 Mean : 132413 Mean : 133626 Mean : 134821
## 3rd Qu.: 116308 3rd Qu.: 117674 3rd Qu.: 119019 3rd Qu.: 120346
## Max. :2327874 Max. :2374149 Max. :2419872 Max. :2464843
## X2025
## Min. : 1818
## 1st Qu.: 17310
## Median : 38594
## Mean : 135998
## 3rd Qu.: 121650
## Max. :2509547
dim(Poblacion)
## [1] 135 17
names(Poblacion)
## [1] "Municipio" "X2010" "X2011" "X2012" "X2013"
## [6] "X2014" "X2015" "X2016" "X2017" "X2018"
## [11] "X2019" "X2020" "X2021" "X2022" "X2023"
## [16] "X2024" "X2025"
A continuacion describo otra forma de obtener la base de datos sin cambiar los importes de caracteres a numericos en el CSV:
Poblacion<-read.csv(“/Users/gabrielamillone/Dropbox/Artificial Inteligencia/FLACSO/Practica_Ciencia_Datos/BASES OK/Proyeccion_Poblacion2.csv”,stringsAsFactors = FALSE)
La sentencia anterior, generó todas variables de los años tipo caracter
Se debe transformar los campos de string en númericos usando la siguiente sentencia:
Poblacion<-Poblacion %>% mutate(X2010=as.numeric(X2010),X2011=as.numeric(X2011),X2012=as.numeric(X2012),X2013=as.numeric(X2013),X2014=as.numeric(X2014),X2015=as.numeric(X2015),X2016=as.numeric(X2016),X2017=as.numeric(X2017),X2018=as.numeric(X2018),X2019=as.numeric(X2019),X2020=as.numeric(X2020),X2021=as.numeric(X2021),X2022=as.numeric(X2022),X2023=as.numeric(X2023),X2024=as.numeric(X2024),X2025=as.numeric(X2025))
3.1.2 Recursos Transferidos en pesos desde Gobierno Provincial a Municipios:
Recursos<-read.csv("/Users/gabrielamillone/Dropbox/Artificial Inteligencia/FLACSO/Practica_Ciencia_Datos/BASES OK/Recursos transferidos MunicipioOK.csv",stringsAsFactors = FALSE)
head (Recursos)
## fecha partido concepto
## 1 1/1/2010 ADOLFO ALSINA Coparticipaci\xed_n Bruta
## 2 1/1/2010 ADOLFO ALSINA Descentralizaci\xed_n Tributaria
## 3 1/1/2010 ADOLFO ALSINA Fondo Solidario Provincial
## 4 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Programas Sociales
## 5 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Recursos Municipales
## 6 1/1/2010 ADOLFO ALSINA Fondo Municipal Inclusi\xed_n Social
## monto
## 1 1968850.7
## 2 110249.6
## 3 72045.5
## 4 24061.6
## 5 115305.8
## 6 16943.9
summary (Recursos)
## fecha partido concepto
## Length:128299 Length:128299 Length:128299
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
## monto
## Min. : 0
## 1st Qu.: 76228
## Median : 295965
## Mean : 2607918
## 3rd Qu.: 1228698
## Max. :485312472
3.1.3 Mortalidad de la provincia por partido (infantil, mujeres y general)
# Leer Mortalidad Infantil hasta 2016 por Municipios
Mort_Inf<-read.csv("/Users/gabrielamillone/Dropbox/Artificial Inteligencia/FLACSO/Practica_Ciencia_Datos/BASES OK/Mortalidad Infantil 2016.csv",stringsAsFactors = FALSE)
head (Mort_Inf)
## año region.sanitaria partido_residencia edad_madre
## 1 2011 I ADOLFO ALSINA 20 - 24
## 2 2011 I ADOLFO ALSINA 35 - 39
## 3 2011 I ADOLFO GONZALES CHAVES Se Ignora
## 4 2011 I ADOLFO GONZALES CHAVES 15 - 19
## 5 2011 I ADOLFO GONZALES CHAVES 15 - 19
## 6 2011 I ADOLFO GONZALES CHAVES 20 - 24
## instruccion_madre paridad peso cantidad
## 1 Secundaria Incompleta 1 1000 - 1499 1
## 2 Primaria Completa 2 1000 - 1499 1
## 3 Se Ignora 0 Se Ignora 1
## 4 Secundaria Incompleta 1 -1000 1
## 5 Secundaria Incompleta 1 1000 - 1499 1
## 6 Primaria Completa 3 1000 - 1499 1
summary (Mort_Inf)
## año region.sanitaria partido_residencia edad_madre
## Min. :2011 Length:11649 Length:11649 Length:11649
## 1st Qu.:2012 Class :character Class :character Class :character
## Median :2013 Mode :character Mode :character Mode :character
## Mean :2013
## 3rd Qu.:2015
## Max. :2016
## instruccion_madre paridad peso cantidad
## Length:11649 Min. : 0.000 Length:11649 Min. : 1.000
## Class :character 1st Qu.: 1.000 Class :character 1st Qu.: 1.000
## Mode :character Median : 2.000 Mode :character Median : 1.000
## Mean : 2.186 Mean : 1.578
## 3rd Qu.: 3.000 3rd Qu.: 1.000
## Max. :18.000 Max. :142.000
# Leer Mortalidad Materna 2017 por Municipios
Mort_Mat<-read.csv("/Users/gabrielamillone/Dropbox/Artificial Inteligencia/FLACSO/Practica_Ciencia_Datos/BASES OK/Mortalidad materna 2017.csv",stringsAsFactors = FALSE, sep=",")
head (Mort_Mat)
## a.o region.sanitaria partido.residencia CIE.10
## 1 2005 I CORONEL DORREGO O055
## 2 2005 V GENERAL SAN MARTIN O055
## 3 2005 V GENERAL SAN MARTIN O055
## 4 2005 V JOSE C. PAZ O109
## 5 2005 V MALVINAS ARGENTINAS O055
## 6 2005 V MALVINAS ARGENTINAS O721
## descripcion.causa
## 1 OTRO ABORTO COMPLETO O NO ESPECIFICADO- COMPLICADO CON INFECCION
## 2 OTRO ABORTO COMPLETO O NO ESPECIFICADO- COMPLICADO CON INFECCION
## 3 OTRO ABORTO COMPLETO O NO ESPECIFICADO- COMPLICADO CON INFECCION
## 4 HIPERTENSION PREEXISTENTE NO ESPECIFICADA- QUE COMPLICA EL EMBARAZO-PARTO O PUERPERIO
## 5 OTRO ABORTO COMPLETO O NO ESPECIFICADO- COMPLICADO CON INFECCION
## 6 OTRAS HEMORRAGIAS POSTPARTO INMEDIATAS
## edad cantidad
## 1 20-24 1
## 2 20-24 1
## 3 30-34 1
## 4 20-24 1
## 5 25-29 1
## 6 40-44 1
summary (Mort_Mat)
## a.o region.sanitaria partido.residencia CIE.10
## Min. :2005 Length:1221 Length:1221 Length:1221
## 1st Qu.:2008 Class :character Class :character Class :character
## Median :2011 Mode :character Mode :character Mode :character
## Mean :2011
## 3rd Qu.:2014
## Max. :2017
## descripcion.causa edad cantidad
## Length:1221 Length:1221 Min. :1.000
## Class :character Class :character 1st Qu.:1.000
## Mode :character Mode :character Median :1.000
## Mean :1.018
## 3rd Qu.:1.000
## Max. :2.000
# Leer Mortalidad General 2016 por Municipios
Mort_Gral<-read.csv("/Users/gabrielamillone/Dropbox/Artificial Inteligencia/FLACSO/Practica_Ciencia_Datos/BASES OK/Mortalidad General 2016.csv",stringsAsFactors = FALSE)
head (Mort_Gral)
## anio region.sanitaria partido.residencia grupo
## 1 2005 I ADOLFO ALSINA APENDICITIS- HERNIA DE LA CAV
## 2 2005 I ADOLFO ALSINA ATEROSCLEROSIS
## 3 2005 I ADOLFO ALSINA ATEROSCLEROSIS
## 4 2005 I ADOLFO ALSINA CAUSAS EXTERNAS
## 5 2005 I ADOLFO ALSINA CAUSAS EXTERNAS
## 6 2005 I ADOLFO ALSINA CAUSAS EXTERNAS
## sexo edad cantidad
## 1 Masc 85 y mas 1
## 2 Masc 65-69 1
## 3 Fem 80-84 1
## 4 Masc 1 - 4 anios 4
## 5 Masc 5-9 1
## 6 Masc 25-29 1
summary (Mort_Gral)
## anio region.sanitaria partido.residencia
## Length:251840 Length:251840 Length:251840
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## grupo sexo edad
## Length:251840 Length:251840 Length:251840
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## cantidad
## Min. : 1.000
## 1st Qu.: 1.000
## Median : 2.000
## Mean : 6.134
## 3rd Qu.: 5.000
## Max. :1018.000
## NA's :3492
3.2 Se Transforman a tipo numérico, variables que estan como caracteres.
3.2.1 Mortalidad General
## Transforma el año en entero
Mort_Gral <- Mort_Gral %>% mutate(anio=as.integer(anio))
## Warning: NAs introduced by coercion
head (Mort_Gral)
## anio region.sanitaria partido.residencia grupo
## 1 2005 I ADOLFO ALSINA APENDICITIS- HERNIA DE LA CAV
## 2 2005 I ADOLFO ALSINA ATEROSCLEROSIS
## 3 2005 I ADOLFO ALSINA ATEROSCLEROSIS
## 4 2005 I ADOLFO ALSINA CAUSAS EXTERNAS
## 5 2005 I ADOLFO ALSINA CAUSAS EXTERNAS
## 6 2005 I ADOLFO ALSINA CAUSAS EXTERNAS
## sexo edad cantidad
## 1 Masc 85 y mas 1
## 2 Masc 65-69 1
## 3 Fem 80-84 1
## 4 Masc 1 - 4 anios 4
## 5 Masc 5-9 1
## 6 Masc 25-29 1
summary (Mort_Gral)
## anio region.sanitaria partido.residencia grupo
## Min. :2005 Length:251840 Length:251840 Length:251840
## 1st Qu.:2008 Class :character Class :character Class :character
## Median :2011 Mode :character Mode :character Mode :character
## Mean :2011
## 3rd Qu.:2014
## Max. :2016
## NA's :3492
## sexo edad cantidad
## Length:251840 Length:251840 Min. : 1.000
## Class :character Class :character 1st Qu.: 1.000
## Mode :character Mode :character Median : 2.000
## Mean : 6.134
## 3rd Qu.: 5.000
## Max. :1018.000
## NA's :3492
3.2.2 Mortalidad Infantil
## Transformo peso y cantidad en enteros
Mort_Inf <- Mort_Inf %>% mutate(cantidad=as.integer(cantidad))
head (Mort_Inf)
## año region.sanitaria partido_residencia edad_madre
## 1 2011 I ADOLFO ALSINA 20 - 24
## 2 2011 I ADOLFO ALSINA 35 - 39
## 3 2011 I ADOLFO GONZALES CHAVES Se Ignora
## 4 2011 I ADOLFO GONZALES CHAVES 15 - 19
## 5 2011 I ADOLFO GONZALES CHAVES 15 - 19
## 6 2011 I ADOLFO GONZALES CHAVES 20 - 24
## instruccion_madre paridad peso cantidad
## 1 Secundaria Incompleta 1 1000 - 1499 1
## 2 Primaria Completa 2 1000 - 1499 1
## 3 Se Ignora 0 Se Ignora 1
## 4 Secundaria Incompleta 1 -1000 1
## 5 Secundaria Incompleta 1 1000 - 1499 1
## 6 Primaria Completa 3 1000 - 1499 1
summary (Mort_Inf)
## año region.sanitaria partido_residencia edad_madre
## Min. :2011 Length:11649 Length:11649 Length:11649
## 1st Qu.:2012 Class :character Class :character Class :character
## Median :2013 Mode :character Mode :character Mode :character
## Mean :2013
## 3rd Qu.:2015
## Max. :2016
## instruccion_madre paridad peso cantidad
## Length:11649 Min. : 0.000 Length:11649 Min. : 1.000
## Class :character 1st Qu.: 1.000 Class :character 1st Qu.: 1.000
## Mode :character Median : 2.000 Mode :character Median : 1.000
## Mean : 2.186 Mean : 1.578
## 3rd Qu.: 3.000 3rd Qu.: 1.000
## Max. :18.000 Max. :142.000
3.2.3 Mortalidad Materna
## Transforma año y edad en enteros
Mort_Mat <- Mort_Mat %>% mutate(a.o=as.integer(a.o),edad=as.integer(edad))
## Warning: NAs introduced by coercion
head (Mort_Mat)
## a.o region.sanitaria partido.residencia CIE.10
## 1 2005 I CORONEL DORREGO O055
## 2 2005 V GENERAL SAN MARTIN O055
## 3 2005 V GENERAL SAN MARTIN O055
## 4 2005 V JOSE C. PAZ O109
## 5 2005 V MALVINAS ARGENTINAS O055
## 6 2005 V MALVINAS ARGENTINAS O721
## descripcion.causa
## 1 OTRO ABORTO COMPLETO O NO ESPECIFICADO- COMPLICADO CON INFECCION
## 2 OTRO ABORTO COMPLETO O NO ESPECIFICADO- COMPLICADO CON INFECCION
## 3 OTRO ABORTO COMPLETO O NO ESPECIFICADO- COMPLICADO CON INFECCION
## 4 HIPERTENSION PREEXISTENTE NO ESPECIFICADA- QUE COMPLICA EL EMBARAZO-PARTO O PUERPERIO
## 5 OTRO ABORTO COMPLETO O NO ESPECIFICADO- COMPLICADO CON INFECCION
## 6 OTRAS HEMORRAGIAS POSTPARTO INMEDIATAS
## edad cantidad
## 1 NA 1
## 2 NA 1
## 3 NA 1
## 4 NA 1
## 5 NA 1
## 6 NA 1
summary (Mort_Mat)
## a.o region.sanitaria partido.residencia CIE.10
## Min. :2005 Length:1221 Length:1221 Length:1221
## 1st Qu.:2008 Class :character Class :character Class :character
## Median :2011 Mode :character Mode :character Mode :character
## Mean :2011
## 3rd Qu.:2014
## Max. :2017
##
## descripcion.causa edad cantidad
## Length:1221 Min. : NA Min. :1.000
## Class :character 1st Qu.: NA 1st Qu.:1.000
## Mode :character Median : NA Median :1.000
## Mean :NaN Mean :1.018
## 3rd Qu.: NA 3rd Qu.:1.000
## Max. : NA Max. :2.000
## NA's :1221
3.3 Leer bases Egresos, Atenciones, Partos y Cesareas en centros de salud
# Lee Egresos
Egre_Hosp<-read.csv("/Users/gabrielamillone/Dropbox/Artificial Inteligencia/FLACSO/Practica_Ciencia_Datos/BASES OK/Egresos-Hospitalarios-2007_2017.csv",stringsAsFactors = FALSE)
head (Egre_Hosp)
## anio region descripcion
## 1 2007 I PARTO UNICO ESPONTANEO
## 2 2007 I DOLOR ABDOMINAL Y PELVICO
## 3 2007 I DIARREA Y GASTROENTERITIS DE PRESUNTO ORIGEN INFECCIOSO
## 4 2007 I NEUMONIA ORGANISMO NO ESPECIFICADO
## 5 2007 I COLELITIASIS
## 6 2007 I OTROS TRASTORNOS RESPIRATORIOS
## egresos
## 1 1067
## 2 742
## 3 588
## 4 582
## 5 537
## 6 503
summary (Egre_Hosp)
## anio region descripcion egresos
## Min. :2007 Length:3844 Length:3844 Min. : 9.0
## 1st Qu.:2010 Class :character Class :character 1st Qu.: 385.8
## Median :2012 Mode :character Mode :character Median : 645.0
## Mean :2012 Mean : 2021.3
## 3rd Qu.:2015 3rd Qu.: 1220.2
## Max. :2017 Max. :126180.0
# Lee Rendimientos en Centros de salud
Rend_Hosp<-read.csv("/Users/gabrielamillone/Dropbox/Artificial Inteligencia/FLACSO/Practica_Ciencia_Datos/BASES OK/Atencion en centros de salud hasta 2017.csv",stringsAsFactors = FALSE)
head (Rend_Hosp)
## anio region.sanitaria partido dependencia
## 1 2009 I ADOLFO ALSINA Municipal
## 2 2009 I ADOLFO ALSINA Municipal
## 3 2009 I ADOLFO ALSINA Municipal
## 4 2009 I ADOLFO ALSINA Municipal
## 5 2009 I ADOLFO ALSINA Municipal
## 6 2009 I ADOLFO ALSINA Municipal
## establecimiento consultas.odontologicas
## 1 Hogar de Ancianos Gral N Levalle 0
## 2 Hosp Local Gral San Mart\xcc_n 13582
## 3 Hosp Munic Dr Noe Yarcho 6076
## 4 Hosp Munic Dr Demetrio Carmelo Loyarte 0
## 5 Unid Sanit San Miguel Arcangel 4858
## 6 Unid Sanit Colonia Lapin 0
## consultas.medicas consultas.paramedicas interconsultas egresos
## 1 0 0 0 1
## 2 146004 13838 0 2862
## 3 36998 17148 0 1062
## 4 7499 5052 0 516
## 5 7999 896 0 0
## 6 1933 0 0 0
## camas.disponible promedio.de.camas.disponibles pacientes.dias
## 1 12775 35 12291
## 2 11003 30 7897
## 3 10950 30 5890
## 4 6570 18 1754
## 5 0 0 0
## 6 0 0 0
## porcentaje.de.ocupacion giro.de.camas dias.de.estadia
## 1 96.2 0.0 3182
## 2 71.8 94.9 7810
## 3 53.8 35.4 4516
## 4 26.7 28.7 1781
## 5 0.0 0.0 0
## 6 0.0 0.0 0
## promedio.dias.de.estadias defunciones tasa.de.mortalidad.hospitalaria
## 1 3182.0 0 0.0
## 2 2.7 70 2.4
## 3 4.3 23 2.2
## 4 3.5 10 1.9
## 5 0.0 0 0.0
## 6 0.0 0 0.0
summary (Rend_Hosp)
## anio region.sanitaria partido dependencia
## Min. :2005 Length:27522 Length:27522 Length:27522
## 1st Qu.:2008 Class :character Class :character Class :character
## Median :2011 Mode :character Mode :character Mode :character
## Mean :2011
## 3rd Qu.:2014
## Max. :2017
## establecimiento consultas.odontologicas consultas.medicas
## Length:27522 Min. : 0 Min. : 0
## Class :character 1st Qu.: 0 1st Qu.: 2181
## Mode :character Median : 0 Median : 6995
## Mean : 2518 Mean : 24465
## 3rd Qu.: 1762 3rd Qu.: 21026
## Max. :742674 Max. :1715453
## consultas.paramedicas interconsultas egresos
## Min. : 0 Min. : 0.0 Min. : 0.0
## 1st Qu.: 0 1st Qu.: 0.0 1st Qu.: 0.0
## Median : 648 Median : 0.0 Median : 0.0
## Mean : 3089 Mean : 317.2 Mean : 432.4
## 3rd Qu.: 2766 3rd Qu.: 0.0 3rd Qu.: 0.0
## Max. :529838 Max. :77741.0 Max. :55591.0
## camas.disponible promedio.de.camas.disponibles pacientes.dias
## Min. : 0 Min. : 0.00 Min. : 0
## 1st Qu.: 0 1st Qu.: 0.00 1st Qu.: 0
## Median : 0 Median : 0.00 Median : 0
## Mean : 4688 Mean : 12.98 Mean : 3448
## 3rd Qu.: 0 3rd Qu.: 0.00 3rd Qu.: 0
## Max. :502731 Max. :1377.00 Max. :442621
## porcentaje.de.ocupacion giro.de.camas dias.de.estadia
## Min. : 0.00 Length:27522 Min. : 0
## 1st Qu.: 0.00 Class :character 1st Qu.: 0
## Median : 0.00 Mode :character Median : 0
## Mean : 11.25 Mean : 3320
## 3rd Qu.: 0.00 3rd Qu.: 0
## Max. :2904.00 Max. :684422
## promedio.dias.de.estadias defunciones
## Min. : 0.00 Min. : 0.00
## 1st Qu.: 0.00 1st Qu.: 0.00
## Median : 0.00 Median : 0.00
## Mean : 37.55 Mean : 14.17
## 3rd Qu.: 0.00 3rd Qu.: 0.00
## Max. :11652.00 Max. :1530.00
## tasa.de.mortalidad.hospitalaria
## Min. : 0.000
## 1st Qu.: 0.000
## Median : 0.000
## Mean : 1.622
## 3rd Qu.: 0.000
## Max. :100.000
# Lee Cantidad de Partos y Cesareas
Part_Cesa<-read.csv("/Users/gabrielamillone/Dropbox/Artificial Inteligencia/FLACSO/Practica_Ciencia_Datos/BASES OK/2017-PartoCesareas-Dependencia.csv",stringsAsFactors = FALSE)
head (Part_Cesa)
## aneo region establecimiento
## 1 2014 I Hosp Local General Jos\xed\xa9 de San Mart\xed_n
## 2 2014 I Unid Sanit Dr Loyarte
## 3 2014 I Hosp Dr Noe Yarcho
## 4 2014 I Hosp Local Gral A Elicagaray
## 5 2014 I Unidad Sanitaria Dr Madue\xed\xb1o
## 6 2014 I Hosp Iterz Gral Dr J Penna
## partido dependencia partos cesarea
## 1 ADOLFO ALSINA municipal 177 122
## 2 ADOLFO ALSINA municipal 0 0
## 3 ADOLFO ALSINA municipal 0 0
## 4 ADOLFO GONZALES CHAVES municipal 103 50
## 5 ADOLFO GONZALES CHAVES municipal 0 0
## 6 BAHIA BLANCA provincial 2947 905
summary (Part_Cesa)
## aneo region establecimiento partido
## Min. :2014 Length:731 Length:731 Length:731
## 1st Qu.:2014 Class :character Class :character Class :character
## Median :2015 Mode :character Mode :character Mode :character
## Mean :2015
## 3rd Qu.:2015
## Max. :2016
## dependencia partos cesarea
## Length:731 Length:731 Length:731
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
3.4 Se Transforman a tipo numérico, variables que estan como caracteres.
3.4.1 Convierte en Partos y Cesareas
Part_Cesa <- Part_Cesa %>% mutate(partos=as.integer(partos), cesarea=as.integer(cesarea))
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
head (Part_Cesa)
## aneo region establecimiento
## 1 2014 I Hosp Local General Jos\xed\xa9 de San Mart\xed_n
## 2 2014 I Unid Sanit Dr Loyarte
## 3 2014 I Hosp Dr Noe Yarcho
## 4 2014 I Hosp Local Gral A Elicagaray
## 5 2014 I Unidad Sanitaria Dr Madue\xed\xb1o
## 6 2014 I Hosp Iterz Gral Dr J Penna
## partido dependencia partos cesarea
## 1 ADOLFO ALSINA municipal 177 122
## 2 ADOLFO ALSINA municipal 0 0
## 3 ADOLFO ALSINA municipal 0 0
## 4 ADOLFO GONZALES CHAVES municipal 103 50
## 5 ADOLFO GONZALES CHAVES municipal 0 0
## 6 BAHIA BLANCA provincial 2947 905
summary (Part_Cesa)
## aneo region establecimiento partido
## Min. :2014 Length:731 Length:731 Length:731
## 1st Qu.:2014 Class :character Class :character Class :character
## Median :2015 Mode :character Mode :character Mode :character
## Mean :2015
## 3rd Qu.:2015
## Max. :2016
##
## dependencia partos cesarea
## Length:731 Min. : 0.0 Min. : 0.0
## Class :character 1st Qu.: 0.0 1st Qu.: 0.0
## Mode :character Median : 105.0 Median : 81.5
## Mean : 469.3 Mean : 188.2
## 3rd Qu.: 419.5 3rd Qu.: 261.2
## Max. :5744.0 Max. :2354.0
## NA's :48 NA's :7
3.4.2 Convierte el numero de Giro de camas a numerico
Rend_Hosp <- Rend_Hosp %>% mutate(giro.de.camas=as.numeric(giro.de.camas))
## Warning: NAs introduced by coercion
head (Rend_Hosp)
## anio region.sanitaria partido dependencia
## 1 2009 I ADOLFO ALSINA Municipal
## 2 2009 I ADOLFO ALSINA Municipal
## 3 2009 I ADOLFO ALSINA Municipal
## 4 2009 I ADOLFO ALSINA Municipal
## 5 2009 I ADOLFO ALSINA Municipal
## 6 2009 I ADOLFO ALSINA Municipal
## establecimiento consultas.odontologicas
## 1 Hogar de Ancianos Gral N Levalle 0
## 2 Hosp Local Gral San Mart\xcc_n 13582
## 3 Hosp Munic Dr Noe Yarcho 6076
## 4 Hosp Munic Dr Demetrio Carmelo Loyarte 0
## 5 Unid Sanit San Miguel Arcangel 4858
## 6 Unid Sanit Colonia Lapin 0
## consultas.medicas consultas.paramedicas interconsultas egresos
## 1 0 0 0 1
## 2 146004 13838 0 2862
## 3 36998 17148 0 1062
## 4 7499 5052 0 516
## 5 7999 896 0 0
## 6 1933 0 0 0
## camas.disponible promedio.de.camas.disponibles pacientes.dias
## 1 12775 35 12291
## 2 11003 30 7897
## 3 10950 30 5890
## 4 6570 18 1754
## 5 0 0 0
## 6 0 0 0
## porcentaje.de.ocupacion giro.de.camas dias.de.estadia
## 1 96.2 0.0 3182
## 2 71.8 94.9 7810
## 3 53.8 35.4 4516
## 4 26.7 28.7 1781
## 5 0.0 0.0 0
## 6 0.0 0.0 0
## promedio.dias.de.estadias defunciones tasa.de.mortalidad.hospitalaria
## 1 3182.0 0 0.0
## 2 2.7 70 2.4
## 3 4.3 23 2.2
## 4 3.5 10 1.9
## 5 0.0 0 0.0
## 6 0.0 0 0.0
summary (Rend_Hosp)
## anio region.sanitaria partido dependencia
## Min. :2005 Length:27522 Length:27522 Length:27522
## 1st Qu.:2008 Class :character Class :character Class :character
## Median :2011 Mode :character Mode :character Mode :character
## Mean :2011
## 3rd Qu.:2014
## Max. :2017
##
## establecimiento consultas.odontologicas consultas.medicas
## Length:27522 Min. : 0 Min. : 0
## Class :character 1st Qu.: 0 1st Qu.: 2181
## Mode :character Median : 0 Median : 6995
## Mean : 2518 Mean : 24465
## 3rd Qu.: 1762 3rd Qu.: 21026
## Max. :742674 Max. :1715453
##
## consultas.paramedicas interconsultas egresos
## Min. : 0 Min. : 0.0 Min. : 0.0
## 1st Qu.: 0 1st Qu.: 0.0 1st Qu.: 0.0
## Median : 648 Median : 0.0 Median : 0.0
## Mean : 3089 Mean : 317.2 Mean : 432.4
## 3rd Qu.: 2766 3rd Qu.: 0.0 3rd Qu.: 0.0
## Max. :529838 Max. :77741.0 Max. :55591.0
##
## camas.disponible promedio.de.camas.disponibles pacientes.dias
## Min. : 0 Min. : 0.00 Min. : 0
## 1st Qu.: 0 1st Qu.: 0.00 1st Qu.: 0
## Median : 0 Median : 0.00 Median : 0
## Mean : 4688 Mean : 12.98 Mean : 3448
## 3rd Qu.: 0 3rd Qu.: 0.00 3rd Qu.: 0
## Max. :502731 Max. :1377.00 Max. :442621
##
## porcentaje.de.ocupacion giro.de.camas dias.de.estadia
## Min. : 0.00 Min. : 0.000 Min. : 0
## 1st Qu.: 0.00 1st Qu.: 0.000 1st Qu.: 0
## Median : 0.00 Median : 0.000 Median : 0
## Mean : 11.25 Mean : 5.213 Mean : 3320
## 3rd Qu.: 0.00 3rd Qu.: 0.000 3rd Qu.: 0
## Max. :2904.00 Max. :900.000 Max. :684422
## NA's :2
## promedio.dias.de.estadias defunciones
## Min. : 0.00 Min. : 0.00
## 1st Qu.: 0.00 1st Qu.: 0.00
## Median : 0.00 Median : 0.00
## Mean : 37.55 Mean : 14.17
## 3rd Qu.: 0.00 3rd Qu.: 0.00
## Max. :11652.00 Max. :1530.00
##
## tasa.de.mortalidad.hospitalaria
## Min. : 0.000
## 1st Qu.: 0.000
## Median : 0.000
## Mean : 1.622
## 3rd Qu.: 0.000
## Max. :100.000
##
4.1 Transformaciones para el analisis de las transferencias de recursos en el año 2016 por Municipio
# Presupuesto asignado por Municipio
names(Recursos)
## [1] "fecha" "partido" "concepto" "monto"
head(Recursos)
## fecha partido concepto
## 1 1/1/2010 ADOLFO ALSINA Coparticipaci\xed_n Bruta
## 2 1/1/2010 ADOLFO ALSINA Descentralizaci\xed_n Tributaria
## 3 1/1/2010 ADOLFO ALSINA Fondo Solidario Provincial
## 4 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Programas Sociales
## 5 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Recursos Municipales
## 6 1/1/2010 ADOLFO ALSINA Fondo Municipal Inclusi\xed_n Social
## monto
## 1 1968850.7
## 2 110249.6
## 3 72045.5
## 4 24061.6
## 5 115305.8
## 6 16943.9
str(Recursos)
## 'data.frame': 128299 obs. of 4 variables:
## $ fecha : chr "1/1/2010" "1/1/2010" "1/1/2010" "1/1/2010" ...
## $ partido : chr "ADOLFO ALSINA" "ADOLFO ALSINA" "ADOLFO ALSINA" "ADOLFO ALSINA" ...
## $ concepto: chr "Coparticipaci\xed_n Bruta" "Descentralizaci\xed_n Tributaria" "Fondo Solidario Provincial" "Fondo Fortalecimiento Programas Sociales" ...
## $ monto : num 1968851 110250 72046 24062 115306 ...
Se debe agregar una variable anio, porque viene la fecha toda junta en un string de longitud variable, y convertir a numerico para poder joinear con otras tablas
# Agrego al data frame una variable anio
Recursos <- mutate(Recursos, anio = substr(fecha, nchar(fecha) - 3, nchar(fecha)))
# convierte el año en numerico
Recursos<-Recursos %>% mutate(anio=as.integer(anio))
as_tibble(Recursos)
## # A tibble: 128,299 x 5
## fecha partido concepto monto anio
## <chr> <chr> <chr> <dbl> <int>
## 1 1/1/2010 ADOLFO ALSINA "Coparticipaci\xed_n Bruta" 1.97e6 2010
## 2 1/1/2010 ADOLFO ALSINA "Descentralizaci\xed_n Tributaria" 1.10e5 2010
## 3 1/1/2010 ADOLFO ALSINA Fondo Solidario Provincial 7.20e4 2010
## 4 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Programas S… 2.41e4 2010
## 5 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Recursos Mu… 1.15e5 2010
## 6 1/1/2010 ADOLFO ALSINA "Fondo Municipal Inclusi\xed_n So… 1.69e4 2010
## 7 1/1/2010 ADOLFO ALSINA Fondos Saneamiento Ambiental 1.02e4 2010
## 8 1/1/2010 ADOLFO ALSINA Juegos de Azar 9.15e4 2010
## 9 1/1/2010 ADOLFO G. CHA… "Coparticipaci\xed_n Bruta" 1.34e6 2010
## 10 1/1/2010 ADOLFO G. CHA… "Descentralizaci\xed_n Tributaria" 8.41e4 2010
## # … with 128,289 more rows
head(Recursos)
## fecha partido concepto
## 1 1/1/2010 ADOLFO ALSINA Coparticipaci\xed_n Bruta
## 2 1/1/2010 ADOLFO ALSINA Descentralizaci\xed_n Tributaria
## 3 1/1/2010 ADOLFO ALSINA Fondo Solidario Provincial
## 4 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Programas Sociales
## 5 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Recursos Municipales
## 6 1/1/2010 ADOLFO ALSINA Fondo Municipal Inclusi\xed_n Social
## monto anio
## 1 1968850.7 2010
## 2 110249.6 2010
## 3 72045.5 2010
## 4 24061.6 2010
## 5 115305.8 2010
## 6 16943.9 2010
## Se deben llevar los importes a moneda constante base 2010
## Se cargara una lista con los coeficientes de inflacion
## base 2010 para cada año
ipcanual <- data.frame(
ipc = c(1,1.257,1.539,1.927,2.465,3.415,4.364,6.14,7.656),
anio = c(2010,2011,2012,2013,2014,2015,2016,2017,2018))
summary (ipcanual)
## ipc anio
## Min. :1.000 Min. :2010
## 1st Qu.:1.539 1st Qu.:2012
## Median :2.465 Median :2014
## Mean :3.307 Mean :2014
## 3rd Qu.:4.364 3rd Qu.:2016
## Max. :7.656 Max. :2018
## Se joinea la base de recursos con la columna del coeficiente de IPC
RecursosAux <- Recursos %>%
left_join(ipcanual)
## Joining, by = "anio"
head (RecursosAux)
## fecha partido concepto
## 1 1/1/2010 ADOLFO ALSINA Coparticipaci\xed_n Bruta
## 2 1/1/2010 ADOLFO ALSINA Descentralizaci\xed_n Tributaria
## 3 1/1/2010 ADOLFO ALSINA Fondo Solidario Provincial
## 4 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Programas Sociales
## 5 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Recursos Municipales
## 6 1/1/2010 ADOLFO ALSINA Fondo Municipal Inclusi\xed_n Social
## monto anio ipc
## 1 1968850.7 2010 1
## 2 110249.6 2010 1
## 3 72045.5 2010 1
## 4 24061.6 2010 1
## 5 115305.8 2010 1
## 6 16943.9 2010 1
## Se añade una columna para guardar el monto sin ajustar
RecursosAux <- RecursosAux %>%
mutate(montosinipc=monto)
## Calcúla el monto recibido ajustado por IPC con base año 2010
RecursosAux <- RecursosAux %>%
mutate(monto=monto/ipc)
Recursos <- RecursosAux
Generar una nueva tabla sumarizando por anio y municipio los montos recibidos y filtrando datos del año 2016
Recursos16 <- Recursos %>%
filter(anio==2016) %>%
group_by(anio,partido) %>%
summarise (tot_recursos = sum(monto))
head(Recursos16)
## # A tibble: 6 x 3
## # Groups: anio [1]
## anio partido tot_recursos
## <dbl> <chr> <dbl>
## 1 2016 ADOLFO ALSINA 53811547.
## 2 2016 ADOLFO GONZALES CHAVES 34793930.
## 3 2016 ALBERTI 19504773.
## 4 2016 ALMIRANTE BROWN 292700823.
## 5 2016 ARRECIFES 46880248.
## 6 2016 AVELLANEDA 170638842.
names(Recursos16)
## [1] "anio" "partido" "tot_recursos"
4.2 Graficar los recursos asignados por año/municipio
4.2.1 Puntos
# Graficar los recursos asignados por año/municipio con puntos
ggplot(data = Recursos16) +
geom_point(mapping = aes(x = partido, y = tot_recursos))
4.2.2 Para mejorar la visibilidad usaremos columnas
ggplot(data = Recursos16) +
geom_col(mapping = aes(x = partido, y = tot_recursos))
Resulta muy poco claro, se agrupara por Region Sanitaria, para eso se debe agregar una variable de region Sanitaria que corresponde a cada partido, se obtiene de la base de Mortalidad Infantil, se debe obtener un vector con la combinatoria de partido/region
head(Mort_Inf)
## año region.sanitaria partido_residencia edad_madre
## 1 2011 I ADOLFO ALSINA 20 - 24
## 2 2011 I ADOLFO ALSINA 35 - 39
## 3 2011 I ADOLFO GONZALES CHAVES Se Ignora
## 4 2011 I ADOLFO GONZALES CHAVES 15 - 19
## 5 2011 I ADOLFO GONZALES CHAVES 15 - 19
## 6 2011 I ADOLFO GONZALES CHAVES 20 - 24
## instruccion_madre paridad peso cantidad
## 1 Secundaria Incompleta 1 1000 - 1499 1
## 2 Primaria Completa 2 1000 - 1499 1
## 3 Se Ignora 0 Se Ignora 1
## 4 Secundaria Incompleta 1 -1000 1
## 5 Secundaria Incompleta 1 1000 - 1499 1
## 6 Primaria Completa 3 1000 - 1499 1
#De esta forma genera un df sin repeticiones pero se debe agregar una #variable con una operacion sobre alguna otra, como en este ejemplo el #mean(cantidad)
Part_Reg <- Mort_Inf %>%
select(region.sanitaria,partido_residencia,cantidad) %>%
arrange(partido_residencia,region.sanitaria) %>%
group_by(partido_residencia,region.sanitaria) %>%
summarise(mean(cantidad))
#De esta fomra genera el vector con repeticiones
Part_Reg <- Mort_Inf %>%
select(region.sanitaria,partido_residencia) %>%
arrange(partido_residencia,region.sanitaria) %>%
group_by(partido_residencia,region.sanitaria)
#Luego se obtiene el resumen aplicando el filtro de clave unica
Part_Reg <- unique.array(Part_Reg)
summary (Part_Reg)
## region.sanitaria partido_residencia
## Length:136 Length:136
## Class :character Class :character
## Mode :character Mode :character
head(Part_Reg)
## # A tibble: 6 x 2
## # Groups: partido_residencia, region.sanitaria [6]
## region.sanitaria partido_residencia
## <chr> <chr>
## 1 I ADOLFO ALSINA
## 2 I ADOLFO GONZALES CHAVES
## 3 X ALBERTI
## 4 VI ALMIRANTE BROWN
## 5 IV ARRECIFES
## 6 VI AVELLANEDA
names(Part_Reg)
## [1] "region.sanitaria" "partido_residencia"
names(Recursos)
## [1] "fecha" "partido" "concepto" "monto" "anio"
## [6] "ipc" "montosinipc"
# Modifica nombres al data frame de regiones y partidos
colnames(Part_Reg) <- c("region","partido")
names(Part_Reg)
## [1] "region" "partido"
names(Recursos16)
## [1] "anio" "partido" "tot_recursos"
Agrega la region a la base de Recursos transferidos, filtra registros correspondientes al año 2016
# Hace left join para asociar a la base de recursos la region sanitaria de acuerdo al partido
RecursosOK <- Recursos %>%
left_join(Part_Reg)
## Joining, by = "partido"
names (RecursosOK)
## [1] "fecha" "partido" "concepto" "monto" "anio"
## [6] "ipc" "montosinipc" "region"
head (RecursosOK)
## fecha partido concepto
## 1 1/1/2010 ADOLFO ALSINA Coparticipaci\xed_n Bruta
## 2 1/1/2010 ADOLFO ALSINA Descentralizaci\xed_n Tributaria
## 3 1/1/2010 ADOLFO ALSINA Fondo Solidario Provincial
## 4 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Programas Sociales
## 5 1/1/2010 ADOLFO ALSINA Fondo Fortalecimiento Recursos Municipales
## 6 1/1/2010 ADOLFO ALSINA Fondo Municipal Inclusi\xed_n Social
## monto anio ipc montosinipc region
## 1 1968850.7 2010 1 1968850.7 I
## 2 110249.6 2010 1 110249.6 I
## 3 72045.5 2010 1 72045.5 I
## 4 24061.6 2010 1 24061.6 I
## 5 115305.8 2010 1 115305.8 I
## 6 16943.9 2010 1 16943.9 I
# Filtra nuevamente en Recurso 2017 solo año 2016
Recursos16 <- RecursosOK %>%
filter(anio==2016) %>%
group_by(region,partido) %>%
summarise (tot_recursos = sum(monto))
summary(Recursos16)
## region partido tot_recursos
## Length:135 Length:135 Min. : 8507292
## Class :character Class :character 1st Qu.: 38157701
## Mode :character Mode :character Median : 54975731
## Mean : 96497038
## 3rd Qu.: 100358751
## Max. :1033619682
head (Recursos16)
## # A tibble: 6 x 3
## # Groups: region [1]
## region partido tot_recursos
## <chr> <chr> <dbl>
## 1 <NA> BRANDSEN 24891210.
## 2 <NA> CA<ed><ef>UELAS 42333001.
## 3 <NA> CORONEL ROSALES 49812346.
## 4 <NA> GENERAL ALVARADO 43833216.
## 5 <NA> GENERAL ALVEAR 36878481.
## 6 <NA> GENERAL ARENALES 37837176.
4.2.3 Realiza grafico de puntos por Region
# Graficar los recursos asignados para año 2016 por region
ggplot(data = Recursos16) +
geom_point(mapping = aes(x = region, y = tot_recursos))
No es claro, grafica con barras el acumulado por Region Sanitaria
4.2.3 Realiza grafico de columnas discriminando en las colmnas por region por Region
head(Recursos16)
## # A tibble: 6 x 3
## # Groups: region [1]
## region partido tot_recursos
## <chr> <chr> <dbl>
## 1 <NA> BRANDSEN 24891210.
## 2 <NA> CA<ed><ef>UELAS 42333001.
## 3 <NA> CORONEL ROSALES 49812346.
## 4 <NA> GENERAL ALVARADO 43833216.
## 5 <NA> GENERAL ALVEAR 36878481.
## 6 <NA> GENERAL ARENALES 37837176.
ggplot(data = Recursos16) +
geom_col(aes(x = region, y = tot_recursos, fill= factor(region))) +
labs(title = "Recursos distribuidos por Region Sanitaria/Partido",
subtitle = "Año 2016",
y = "Pesos")
4.2.4 Se realiza columnas apaisadas
head(Recursos16)
## # A tibble: 6 x 3
## # Groups: region [1]
## region partido tot_recursos
## <chr> <chr> <dbl>
## 1 <NA> BRANDSEN 24891210.
## 2 <NA> CA<ed><ef>UELAS 42333001.
## 3 <NA> CORONEL ROSALES 49812346.
## 4 <NA> GENERAL ALVARADO 43833216.
## 5 <NA> GENERAL ALVEAR 36878481.
## 6 <NA> GENERAL ARENALES 37837176.
ggplot(data = Recursos16) +
geom_col(aes(x = region, y = tot_recursos, color = factor(region))) +
labs(title = "Recursos distribuidos por Region Sanitaria/Partido",
subtitle = "Año 2016",
y = "Pesos") +
coord_flip()
Es muy dificultoso para distinguir las zonas
4.2.5 Prueba con diagrama de barra
ggplot(data = Recursos16) +
geom_bar(aes(x = region, weight = tot_recursos, fill = factor(region))) +
coord_flip() +
labs(title = "Recursos distribuidos por Region Sanitaria/Partido",
subtitle = "Año 2016",
y = "Pesos")
4.2.6 Facetado por regiones, no es de utilidad, resultan ilegibles los nombres de los partidos
# Ver el facetado por regiones
ggplot(data = Recursos16) +
geom_bar(aes(x = partido, weight = tot_recursos, fill = factor(region))) +
labs(title = "Recursos distribuidos por Region Sanitaria/Partido",
subtitle = "Año 2016",
y = "Pesos") +
coord_flip() +
facet_wrap(~region)
En los diagramas de puntos y de columnas, se visualiza una region integrada por un solo partido, con un importe de la variable recurso muy alto respecto a la media de todos los partidos.
4.4 Observacion
Se analizará si es correcto el comportamiento de la variable Recursos transferidos a la region observada:
4.4.1 Analiza cual es la evolucion de Ingresos recibida por la Region XVIII a traves de los años
names(RecursosOK)
## [1] "fecha" "partido" "concepto" "monto" "anio"
## [6] "ipc" "montosinipc" "region"
Recursos_Reg13<- RecursosOK %>%
filter(region=="XIII") %>%
group_by(anio, region, partido) %>%
summarise(tot_recursos = sum(monto))
head(Recursos_Reg13)
## # A tibble: 6 x 4
## # Groups: anio, region [6]
## anio region partido tot_recursos
## <dbl> <chr> <chr> <dbl>
## 1 2010 XIII LA MATANZA 597704187.
## 2 2011 XIII LA MATANZA 617799359.
## 3 2012 XIII LA MATANZA 691855876.
## 4 2013 XIII LA MATANZA 830877302.
## 5 2014 XIII LA MATANZA 860776925.
## 6 2015 XIII LA MATANZA 811876841.
ggplot(data = Recursos_Reg13) +
geom_bar(aes(x = anio, weight = tot_recursos, fill = factor(partido))) +
labs(title = "Recursos transferidos historicamente a Region XIII",
y = "Pesos", x = "Año")
Por ser La Matanza el mayor partido del conurbano, es posible, que los recursos transferidos sean tan altos, para asegurarlo, se va a establecer si existe correlacion entre el crecimiento de la poblacion y los recursos recibidos desde el año 2010 al 2018.
4.4.2 Se agrega la region a la base de Poblacion, luego, se añade la informacion de Poblacion a la base de Recursos y se visualiza la evolucion del crecimiento de poblacion de la region VIII que coincide con el partido ¨La Matanza"
names(Poblacion)
## [1] "Municipio" "X2010" "X2011" "X2012" "X2013"
## [6] "X2014" "X2015" "X2016" "X2017" "X2018"
## [11] "X2019" "X2020" "X2021" "X2022" "X2023"
## [16] "X2024" "X2025"
#cambio el nombre del campo municipio, creo una columna nueva llamada partido y elimino la columna municipio
PoblacionOK <- mutate(Poblacion, partido=Municipio)
names(PoblacionOK)
## [1] "Municipio" "X2010" "X2011" "X2012" "X2013"
## [6] "X2014" "X2015" "X2016" "X2017" "X2018"
## [11] "X2019" "X2020" "X2021" "X2022" "X2023"
## [16] "X2024" "X2025" "partido"
PoblacionOK <- select(PoblacionOK,-Municipio)
summarise(PoblacionOK)
## data frame with 0 columns and 1 row
PoblacionOK <- left_join(PoblacionOK,Part_Reg)
## Joining, by = "partido"
head(PoblacionOK)
## X2010 X2011 X2012 X2013 X2014 X2015 X2016 X2017 X2018 X2019
## 1 17222 17249 17276 17303 17330 17356 17382 17407 17433 17458
## 2 12168 12142 12116 12091 12065 12040 12016 11992 11968 11944
## 3 10746 10773 10799 10824 10850 10875 10900 10924 10948 10972
## 4 557025 561349 565509 569911 574263 578513 582541 586564 590418 594270
## 5 29252 29473 29690 29905 30117 30326 30532 30735 30936 31133
## 6 345752 346847 347924 348999 350080 351165 352246 353273 354314 355352
## X2020 X2021 X2022 X2023 X2024 X2025 partido region
## 1 17483 17507 17532 17556 17580 17603 ADOLFO ALSINA I
## 2 11922 11899 11877 11855 11832 11811 ADOLFO GONZALES CHAVES I
## 3 10995 11018 11041 11064 11085 11107 ALBERTI X
## 4 597969 601618 605271 608878 612438 616000 ALMIRANTE BROWN VI
## 5 31328 31520 31709 31895 32078 32259 ARRECIFES IV
## 6 356392 357440 358512 359550 360583 361532 AVELLANEDA VI
## Inserta una nueva columna en Recursos con la poblacion de cada partido region en ##cada anio, preparando previo un vector con todos los datos de cada año para ##partido/region
### Guarda valores año 2010, 2011....hasta 2018 e inserta en RecursosSUM
# Repito la asignacion a PoblacionOK para sacarle los intentos de trasposicion
summary(PoblacionOK)
## X2010 X2011 X2012 X2013
## Min. : 1780 Min. : 1783 Min. : 1785 Min. : 1788
## 1st Qu.: 15934 1st Qu.: 15864 1st Qu.: 15795 1st Qu.: 15737
## Median : 32841 Median : 33260 Median : 33676 Median : 34027
## Mean : 116422 Mean : 117849 Mean : 119264 Mean : 120664
## 3rd Qu.: 106153 3rd Qu.: 107078 3rd Qu.: 107995 3rd Qu.: 108902
## Max. :1777530 Max. :1830526 Max. :1883251 Max. :1935394
## X2014 X2015 X2016 X2017
## Min. : 1791 Min. : 1794 Min. : 1796 Min. : 1799
## 1st Qu.: 15823 1st Qu.: 15984 1st Qu.: 16150 1st Qu.: 16313
## Median : 34421 Median : 34894 Median : 35288 Median : 35540
## Mean : 122046 Mean : 123407 Mean : 124749 Mean : 126074
## 3rd Qu.: 109798 3rd Qu.: 110679 3rd Qu.: 111550 3rd Qu.: 112407
## Max. :1986784 Max. :2037428 Max. :2087359 Max. :2136695
## X2018 X2019 X2020 X2021
## Min. : 1801 Min. : 1804 Min. : 1807 Min. : 1809
## 1st Qu.: 16496 1st Qu.: 16633 1st Qu.: 16753 1st Qu.: 16868
## Median : 35701 Median : 36022 Median : 36545 Median : 37156
## Mean : 127381 Mean : 128668 Mean : 129934 Mean : 131182
## 3rd Qu.: 113254 3rd Qu.: 114088 3rd Qu.: 114908 3rd Qu.: 116308
## Max. :2185597 Max. :2233860 Max. :2281194 Max. :2327874
## X2022 X2023 X2024 X2025
## Min. : 1812 Min. : 1814 Min. : 1816 Min. : 1818
## 1st Qu.: 16982 1st Qu.: 17094 1st Qu.: 17204 1st Qu.: 17310
## Median : 37258 Median : 37719 Median : 38172 Median : 38594
## Mean : 132413 Mean : 133626 Mean : 134821 Mean : 135998
## 3rd Qu.: 117674 3rd Qu.: 119019 3rd Qu.: 120346 3rd Qu.: 121650
## Max. :2374149 Max. :2419872 Max. :2464843 Max. :2509547
## partido region
## Length:135 Length:135
## Class :character Class :character
## Mode :character Mode :character
##
##
##
### Arma DF con año 2010
Pob10<-PoblacionOK %>%
select(partido,X2010)
Pob10 <- mutate(Pob10, anio=2010)
colnames(Pob10) <- c("partido","pobla","anio")
summary(Pob10)
## partido pobla anio
## Length:135 Min. : 1780 Min. :2010
## Class :character 1st Qu.: 15934 1st Qu.:2010
## Mode :character Median : 32841 Median :2010
## Mean : 116422 Mean :2010
## 3rd Qu.: 106153 3rd Qu.:2010
## Max. :1777530 Max. :2010
names(Pob10)
## [1] "partido" "pobla" "anio"
### Arma DF con año 2011
Pob11<-PoblacionOK %>%
select(partido,X2011)
Pob11 <- mutate(Pob11, anio=2011)
colnames(Pob11) <- c("partido","pobla","anio")
summary(Pob11)
## partido pobla anio
## Length:135 Min. : 1783 Min. :2011
## Class :character 1st Qu.: 15864 1st Qu.:2011
## Mode :character Median : 33260 Median :2011
## Mean : 117849 Mean :2011
## 3rd Qu.: 107078 3rd Qu.:2011
## Max. :1830526 Max. :2011
names(Pob11)
## [1] "partido" "pobla" "anio"
### Arma DF con año 2012
Pob12<-PoblacionOK %>%
select(partido,X2012)
Pob12 <- mutate(Pob12, anio=2012)
colnames(Pob12) <- c("partido","pobla","anio")
summary(Pob12)
## partido pobla anio
## Length:135 Min. : 1785 Min. :2012
## Class :character 1st Qu.: 15795 1st Qu.:2012
## Mode :character Median : 33676 Median :2012
## Mean : 119264 Mean :2012
## 3rd Qu.: 107995 3rd Qu.:2012
## Max. :1883251 Max. :2012
### Arma DF con año 2013
Pob13<-PoblacionOK %>%
select(partido,X2013)
Pob13 <- mutate(Pob13, anio=2013)
colnames(Pob13) <- c("partido","pobla","anio")
summary(Pob13)
## partido pobla anio
## Length:135 Min. : 1788 Min. :2013
## Class :character 1st Qu.: 15737 1st Qu.:2013
## Mode :character Median : 34027 Median :2013
## Mean : 120664 Mean :2013
## 3rd Qu.: 108902 3rd Qu.:2013
## Max. :1935394 Max. :2013
### Arma DF con año 2014
Pob14<-PoblacionOK %>%
select(partido,X2014)
Pob14 <- mutate(Pob14, anio=2014)
colnames(Pob14) <- c("partido","pobla","anio")
summary(Pob14)
## partido pobla anio
## Length:135 Min. : 1791 Min. :2014
## Class :character 1st Qu.: 15823 1st Qu.:2014
## Mode :character Median : 34421 Median :2014
## Mean : 122046 Mean :2014
## 3rd Qu.: 109798 3rd Qu.:2014
## Max. :1986784 Max. :2014
### Arma DF con año 2015
Pob15<-PoblacionOK %>%
select(partido,X2015)
Pob15 <- mutate(Pob15, anio=2015)
colnames(Pob15) <- c("partido","pobla","anio")
summary(Pob15)
## partido pobla anio
## Length:135 Min. : 1794 Min. :2015
## Class :character 1st Qu.: 15984 1st Qu.:2015
## Mode :character Median : 34894 Median :2015
## Mean : 123407 Mean :2015
## 3rd Qu.: 110679 3rd Qu.:2015
## Max. :2037428 Max. :2015
### Arma DF con año 2016
Pob16<-PoblacionOK %>%
select(partido,X2016)
Pob16 <- mutate(Pob16, anio=2016)
colnames(Pob16) <- c("partido","pobla","anio")
summary(Pob16)
## partido pobla anio
## Length:135 Min. : 1796 Min. :2016
## Class :character 1st Qu.: 16150 1st Qu.:2016
## Mode :character Median : 35288 Median :2016
## Mean : 124749 Mean :2016
## 3rd Qu.: 111550 3rd Qu.:2016
## Max. :2087359 Max. :2016
### Arma DF con año 2017
Pob17<-PoblacionOK %>%
select(partido,X2017)
Pob17 <- mutate(Pob17, anio=2017)
colnames(Pob17) <- c("partido","pobla","anio")
summary(Pob17)
## partido pobla anio
## Length:135 Min. : 1799 Min. :2017
## Class :character 1st Qu.: 16313 1st Qu.:2017
## Mode :character Median : 35540 Median :2017
## Mean : 126074 Mean :2017
## 3rd Qu.: 112407 3rd Qu.:2017
## Max. :2136695 Max. :2017
### Arma DF con año 2018
Pob18<-PoblacionOK %>%
select(partido,X2018)
Pob18 <- mutate(Pob18, anio=2018)
colnames(Pob18) <- c("partido","pobla","anio")
summary(Pob18)
## partido pobla anio
## Length:135 Min. : 1801 Min. :2018
## Class :character 1st Qu.: 16496 1st Qu.:2018
## Mode :character Median : 35701 Median :2018
## Mean : 127381 Mean :2018
## 3rd Qu.: 113254 3rd Qu.:2018
## Max. :2185597 Max. :2018
###Joinea todas las bases Pobnn para obtener una sola con los registros correspondientes a los años 2010 a 2018
Pob_tot_part <- full_join(Pob10,Pob11)
## Joining, by = c("partido", "pobla", "anio")
head(Pob_tot_part)
## partido pobla anio
## 1 ADOLFO ALSINA 17222 2010
## 2 ADOLFO GONZALES CHAVES 12168 2010
## 3 ALBERTI 10746 2010
## 4 ALMIRANTE BROWN 557025 2010
## 5 ARRECIFES 29252 2010
## 6 AVELLANEDA 345752 2010
Pob_tot_part <- full_join(Pob_tot_part,Pob12)
## Joining, by = c("partido", "pobla", "anio")
Pob_tot_part <- full_join(Pob_tot_part,Pob13)
## Joining, by = c("partido", "pobla", "anio")
Pob_tot_part <- full_join(Pob_tot_part,Pob14)
## Joining, by = c("partido", "pobla", "anio")
Pob_tot_part <- full_join(Pob_tot_part,Pob15)
## Joining, by = c("partido", "pobla", "anio")
Pob_tot_part <- full_join(Pob_tot_part,Pob16)
## Joining, by = c("partido", "pobla", "anio")
Pob_tot_part <- full_join(Pob_tot_part,Pob17)
## Joining, by = c("partido", "pobla", "anio")
Pob_tot_part <- full_join(Pob_tot_part,Pob18)
## Joining, by = c("partido", "pobla", "anio")
summary(Pob_tot_part)
## partido pobla anio
## Length:1215 Min. : 1780 Min. :2010
## Class :character 1st Qu.: 15870 1st Qu.:2012
## Mode :character Median : 34494 Median :2014
## Mean : 121984 Mean :2014
## 3rd Qu.: 109374 3rd Qu.:2016
## Max. :2185597 Max. :2018
### Añade la poblacion a la base de RecursosOK
Rec_Pob <- left_join(RecursosOK,Pob_tot_part)
## Joining, by = c("partido", "anio")
names(Rec_Pob)
## [1] "fecha" "partido" "concepto" "monto" "anio"
## [6] "ipc" "montosinipc" "region" "pobla"
summary(Rec_Pob)
## fecha partido concepto
## Length:128299 Length:128299 Length:128299
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## monto anio ipc montosinipc
## Min. : 0 Min. :2010 Min. :1.000 Min. : 0
## 1st Qu.: 30951 1st Qu.:2012 1st Qu.:1.539 1st Qu.: 76228
## Median : 111544 Median :2014 Median :2.465 Median : 295965
## Mean : 737677 Mean :2014 Mean :3.598 Mean : 2607918
## 3rd Qu.: 377268 3rd Qu.:2017 3rd Qu.:6.140 3rd Qu.: 1228698
## Max. :64550868 Max. :2018 Max. :7.656 Max. :485312472
##
## region pobla
## Length:128299 Min. : 1780
## Class :character 1st Qu.: 15916
## Mode :character Median : 34710
## Mean : 126355
## 3rd Qu.: 116345
## Max. :2185597
## NA's :10870
### Con el fin de realizar el grafico de crecimiento de poblacion sumarisa la base
RecPobSUM <- Rec_Pob %>%
group_by(anio,region,partido, pobla) %>%
summarise(tot_recursos = sum(monto))
#### summarise(tot_recursos = sum(monto),tot_pobla = sum(pobla))
head(RecPobSUM)
## # A tibble: 6 x 5
## # Groups: anio, region, partido [6]
## anio region partido pobla tot_recursos
## <dbl> <chr> <chr> <int> <dbl>
## 1 2010 <NA> ADOLFO G. CHAVES NA 25548599.
## 2 2010 <NA> "AYACUCHO " NA 23527253.
## 3 2010 <NA> "BALCARCE " NA 25307724.
## 4 2010 <NA> BRANDSEN 26480 17496814
## 5 2010 <NA> CA<ed><ef>UELAS NA 5609689.
## 6 2010 <NA> CANUELAS 52059 22712073.
names(RecPobSUM)
## [1] "anio" "region" "partido" "pobla"
## [5] "tot_recursos"
4.4.2.1 Evolución de la población total de la provincia por region durane el período 2010-2018
### grafica el crecimiento de la poblacion por año, discriminando region
ggplot(data = RecPobSUM) +
geom_bar(aes(x = anio, weight = pobla, fill = factor(region))) +
labs(title = "Poblacion por Region/Año",
subtitle = "Periodo: 2010-2018",
y = "Individuos", x="Año")
4.4.2.2 Evoluciòn del crecimiento de poblacion de la region XIII por Año, en el período 2010-2018
PoblaLAM <- RecPobSUM %>%
filter(region=="XIII")
ggplot(data = PoblaLAM) +
geom_bar(aes(x = anio, weight = pobla, fill = factor(region))) +
labs(title = "Evolucion de la Población en la Region XIII",
y = "Individuos", x = "Año")
Resulta llamativo que tanto en los graficos de evolucion de la poblacion total de la provincia, como en los graficos de la region XIII, se ve un crecimiento desproporcionado en el año 2018, siendo que es una proyeccion del censo del 2010, resultaría un dato para investigar, al igual que el año 2013 en a region XIII que es mayor que el año 2014.
El crecimiento de la poblacion, no se mantiene congruente con el crecimiento de los recursos recibidos desde el gobierno provincial en la region XIII.
5.1 Se analizara si existe correlación entre las variables mencionadas en el comentario anterior. Primero el analisis lo realizaremos para la region XIII
# Se realiza un diagrama de puntos de la evolucion de los recursos de acuerdo a la variacion de la proyeccion de poblacion
ggplot(data = PoblaLAM) +
geom_point(aes(x = pobla, y = tot_recursos)) +
labs(title = "Correlación entre Poblacion y Recursos Recibidos",
subtitle = "Region XIII",
y = "Pesos")
Se obtiene el indice de correlacion
cor(PoblaLAM$pobla, PoblaLAM$tot_recursos)
## [1] 0.8594908
El indice de correlacion dió como resultado apenas mayor que 0,85, por lo tanto se acepta que las variables estan fuertemente correlacionadas. Se calculara cual es el impacto que tiene la variación en un individuo de población respecto de los Recursos que le serán transferidos por la provincia.
Nota: se debe tener en cuenta que los montos de recursos fueron llevados a valor constante de la moneda con base en año 2010.
modelo_recupob <- lm(tot_recursos ~ pobla, data = PoblaLAM)
modelo_recupob
##
## Call:
## lm(formula = tot_recursos ~ pobla, data = PoblaLAM)
##
## Coefficients:
## (Intercept) pobla
## -934227733.9 875.2
Significa que por cada nuevo habitante el Gobierno Provincial transferiría 15356$ mas.
Se estima la curva de la correlación
ggplot(data = PoblaLAM) +
geom_point(aes(x = pobla, y = tot_recursos)) +
labs(title = "Correlación entre Poblacion y Recursos Recibidos",
subtitle = "Region XIII",
y = "Pesos",
caption = "con línea de respectiva regresión") +
geom_abline(aes(intercept = -934227733.9, slope = 875.2 ), color = "pink")
Podrían estimarse los recursos a recibir en el año 2025.
summary(PoblaLAM)
## anio region partido pobla
## Min. :2010 Length:9 Length:9 Min. :1777530
## 1st Qu.:2012 Class :character Class :character 1st Qu.:1883251
## Median :2014 Mode :character Mode :character Median :1986784
## Mean :2014 Mean :1984507
## 3rd Qu.:2016 3rd Qu.:2087359
## Max. :2018 Max. :2185597
## tot_recursos
## Min. : 597704187
## 1st Qu.: 691855876
## Median : 830877302
## Mean : 802529684
## 3rd Qu.: 867551332
## Max. :1033619682
ggplot(data = PoblaLAM) +
geom_point(aes(x = pobla, y = tot_recursos)) +
labs(title = "Correlación entre Poblacion y Recursos Recibidos",
subtitle = "Region XIII",
y = "Pesos",
caption = "con línea de respectiva regresión") +
geom_abline(aes(intercept = -934227733.9, slope = 875.2), color = "pink") +
xlim(c(1777530, 2509547)) +
ylim(c(500000000, 1050000000))
ggplot(data = PoblaLAM) +
geom_point(aes(x = pobla, y = tot_recursos)) +
labs(title = "Correlación entre Poblacion y Recursos Recibidos",
subtitle = "Region XIII",
y = "Pesos",
caption = "con línea de regresión vía geom_smooth()") +
geom_smooth(aes(x = pobla, y = tot_recursos), method = "lm")
Se observa la linea de regresion versus la curva real.
Se calcularan los valores residuales de la funcion respecto a los puntos observados para analizar si se acerca a la realidad:
## Calculo de los residuos
## Analizo modelo regresionado
modelo_recupob
##
## Call:
## lm(formula = tot_recursos ~ pobla, data = PoblaLAM)
##
## Coefficients:
## (Intercept) pobla
## -934227733.9 875.2
residuos <- residuals(modelo_recupob)
residuos
## 1 2 3 4 5 6 7
## -23687808 -49972513 -22058705 71329354 56254603 -36966986 141078338
## 8 9
## -68166811 -67809472
### Se agregan al data frame que contiene las variables regresionadas
## No esta funcionando la siguiente sentencia
##PoblaLAM1 <- PoblaLAM %>% mutate(residuo_LAM = residuos)
## Grafico
##ggplot(PoblaLAM) +
## geom_point(aes(pobla, y = residuo_LAM)) +
## geom_hline(yintercept = 0, col = "green") +
## labs(x = "Individuos", y = "residuo del modelo lineal")