En esta sección estudiaremos la cantidad y proporción de los pensionados con PGU y con APS respecto de su ubicación geografica, para esto usaremos la casen del año 2022.
la base de datos de la Casen 2022 cuenta con 202231 observaciones de 917, de las cuales nosotros usaremos principalmente las variables “y28_1b”, y “y28_1c” que corresponde a las preguntas “Mes pasado, ¿recibió Jubilación o Pensión de Vejez con APS?” y “Mes pasado, ¿recibió Jubilación, Pensión de Vejez o PGU?” respectivamente. estas variables indican que 8482 personas encuestadas recibieron pensión con APS mientras que 21784 encuestados recibieron PGU. ahora procederemos a definir que es el APS y la PGU.
El Aporte Previsional Solidario (APS) de vejez e invalidez es un beneficio que entrega el Estado a las personas que durante su vida laboral activa cotizaron en una cuenta individual obligatoria en una administradora de fondos de pensiones (AFP) y que producto de ese ahorro previsional pueden financiar una pensión base inferior o igual a la Pensión Máxima con Aporte Solidario (PMAS). Este beneficio es para quienes pertenecen al 60% de menores ingresos del país.
La Pensión Garantizada Universal (PGU) es un beneficio que entrega y financia 100% el Estado para apoyar a todas las personas de 65 años y más que se encuentren trabajando y/o que ya estén pensionadas en cualquier régimen previsional, es decir, reciben una pensión de retiro programado en una administradora de fondos de pensiones (AFP) o una renta vitalicia de una compañía de seguros de vida (CSV).
Para analizar la base de datos, primero extraeremos las variables de interés de esta base, también editaremos la variable estrato para indique el código de cada comuna.
base<-data.frame(Base_de_datos_Casen_2022_SPSS$id_vivienda,Base_de_datos_Casen_2022_SPSS$folio,
Base_de_datos_Casen_2022_SPSS$id_persona,Base_de_datos_Casen_2022_SPSS$region,
Base_de_datos_Casen_2022_SPSS$area,Base_de_datos_Casen_2022_SPSS$cod_upm,
Base_de_datos_Casen_2022_SPSS$nse,Base_de_datos_Casen_2022_SPSS$estrato,
Base_de_datos_Casen_2022_SPSS$tot_per_h,Base_de_datos_Casen_2022_SPSS$edad,
Base_de_datos_Casen_2022_SPSS$sexo,Base_de_datos_Casen_2022_SPSS$p2,
Base_de_datos_Casen_2022_SPSS$p3,Base_de_datos_Casen_2022_SPSS$p4,
Base_de_datos_Casen_2022_SPSS$y1,Base_de_datos_Casen_2022_SPSS$y28_1b,
Base_de_datos_Casen_2022_SPSS$y28_1c,Base_de_datos_Casen_2022_SPSS$y28_1d
)
base$Base_de_datos_Casen_2022_SPSS.estrato=ifelse(base$Base_de_datos_Casen_2022_SPSS.estrato<999999,
paste0(0,base$Base_de_datos_Casen_2022_SPSS.estrato),
base$Base_de_datos_Casen_2022_SPSS.estrato)
base$Base_de_datos_Casen_2022_SPSS.estrato=gsub('.{2}$',"",base$Base_de_datos_Casen_2022_SPSS.estrato)
Ahora usaremos la base de datos mapa_comunas para y DPA2018 para crear una tabla con con las variables de interés enlazadas a las coordenadas de cada comuna
ncomdpa<-data.frame(DPA2018[2],DPA2018[6],DPA2018[13],DPA2018[19])
mcomunas<-mapa_comunas
base_com<-merge(mcomunas,base,by.x = "codigo_comuna",by.y = "Base_de_datos_Casen_2022_SPSS.estrato")
base_com<-merge(ncomdpa,base_com,by.x = "Código.Comuna.desde.2018",by.y = "codigo_comuna")
names(base_com)[1:24]=c("codigo_comuna","nom_comuna","Provincia.desde.2018",
"Nombre.Región.desde.2018","codigo_provincia","codigo_region","geometry",
"id_vivienda","folio","id_persona","region","area","cod_upm","nse",
"tot_per_h","edad","sexo","p2","p3","p4","y1","y28_1b","y28_1c","y28_1d")
Para generar este mapa con la proporción de encuestados con APS por comuna primero agruparemos la base de datos por comuna para obtener la proporción de pensionados por comuna.
base_com1=base_com %>% select(codigo_comuna,nom_comuna, y28_1b)
base_com1=na.omit(base_com1)
aps_com<- base_com1 %>%
select(codigo_comuna,nom_comuna, y28_1b) %>%
group_by(codigo_comuna,nom_comuna,y28_1b)%>%
summarise(cuenta=n())%>%
mutate(proporcion=cuenta/sum(cuenta))
mapa_aps<-mapa_comunas%>%left_join(aps_com,by=c("codigo_comuna"="codigo_comuna"))
mapa_aps1<-mapa_aps
Ahora generaremos el mapa con el siguiente código:
colors <- c("#DCA761","#C6C16D","#8B9C94","#628CA5","#5A6C7A")
g1 <- ggplot() +
geom_sf(data = mapa_aps1 %>%
select(codigo_comuna, geometry) %>%
left_join(
mapa_aps1 %>%
filter(y28_1b == 1) %>%
select(codigo_comuna, y28_1b, proporcion),
by = "codigo_comuna"
),
aes(fill = proporcion, geometry = geometry),
size = 1) +
scale_fill_gradientn(colours = rev(colors), name = "Porcentaje") +
labs(title = "Porcentaje de encuestados que reciben APS por comuna") +
theme_minimal(base_size = 10)
g1
## 6.2) pensionados aps por región
Este mapa si bien cumple con mostrar la proporción de pensionados por comuna no es facil de analizar, por lo tanto analizaremos la misma variable pero para cada región.
base_com2=base_com %>% select(Nombre.Región.desde.2018,codigo_region, y28_1b)
base_com2=na.omit(base_com2)
aps_reg<- base_com2 %>%
select(Nombre.Región.desde.2018,codigo_region, y28_1b) %>%
group_by(Nombre.Región.desde.2018,codigo_region, y28_1b)%>%
summarise(cuenta=n())%>%
mutate(proporcion=cuenta/sum(cuenta))
aps_reg
## # A tibble: 47 × 5
## # Groups: Nombre.Región.desde.2018, codigo_region [16]
## Nombre.Región.desde.2018 codigo_region y28_1b cuenta proporcion
## <chr> <chr> <dbl+lbl> <int> <dbl>
## 1 De Aisén del Gral. C. Ibáñez del C… 11 1 [1. … 107 0.207
## 2 De Aisén del Gral. C. Ibáñez del C… 11 2 [2. … 409 0.793
## 3 De Antofagasta 02 -88 [No … 9 0.00806
## 4 De Antofagasta 02 1 [1. … 409 0.366
## 5 De Antofagasta 02 2 [2. … 699 0.626
## 6 De Arica y Parinacota 15 -88 [No … 6 0.00519
## 7 De Arica y Parinacota 15 1 [1. … 315 0.273
## 8 De Arica y Parinacota 15 2 [2. … 834 0.722
## 9 De Atacama 03 -88 [No … 9 0.00668
## 10 De Atacama 03 1 [1. … 320 0.237
## # ℹ 37 more rows
reg<-generar_regiones()
reg<-as.data.frame(reg)
mapa_reg<-reg%>%left_join(aps_reg,by=c("codigo_region"="codigo_region"))
mapa_reg1<-mapa_reg
colors <- c("#DCA761","#C6C16D","#8B9C94","#628CA5","#5A6C7A")
g2 <- ggplot() +
geom_sf(data = mapa_reg1 %>%
select(codigo_region, geometry) %>%
left_join(
mapa_reg %>%
filter(y28_1b == 1) %>%
select(codigo_region, y28_1b, proporcion),
by = "codigo_region"
),
aes(fill = proporcion, geometry = geometry),
size = 1) +
scale_fill_gradientn(colours = rev(colors), name = "Porcentaje") +
labs(title = "Proporción de encuestados que reciben aps por región") +
theme_minimal(base_size = 10)
g2
A partir de este mapa se puede ver que la región de antofagasta tiene una proporción de encuestados con aporte previsional solidario mucho mayor al resto de regiones, por lo que parece ser de interés estudiar esta región en particular, aunque este mapa aun no parece adecuado para hacer un buen análisis de las variables de interés.
Para estudiar en mayor detalle a los pensionados con APS generaremos el siguiente mapa interactivo:
mapa_apsi<-subset(mapa_aps,y28_1b==1)
mapa_apsi<-st_as_sf(mapa_apsi)
bins<-seq(0,900,150)
paleta <-colorBin(palette = 'BuPu',domain = 0:900,bins = bins)
labels <- sprintf("<strong>Comuna: %s</strong><br/>cantidad de encuestados con aps: %g"
,mapa_apsi$nom_comuna, mapa_apsi$cuenta) %>% lapply(htmltools::HTML)
g3<-leaflet(mapa_apsi) %>%
addProviderTiles(provider = providers$OpenStreetMap.Mapnik)%>% #nos ayuda a adjuntar que mapa queremos, en caso elegimos providers$OpenStreetMap.Mapnik
addPolygons(fillColor = ~paleta(mapa_apsi$cuenta),
weight = 2,#grosor de la linea que divide cada estado
opacity = 1,
color = "white", # usamos código Hex para los colores
dashArray = "3",
fillOpacity = 0.7, # rellenamos con color los polígonos que tan fuerte queremos que se muestre el color, mientras mayor mas fuerte
highlight = highlightOptions(
weight = 4, #grosor de la linea que divide cada estado
color = "#666",
dashArray = "",
fillOpacity = 0.7,
bringToFront = TRUE),
label = labels,
labelOptions = labelOptions(
style = list("font-weight" = "normal", padding = "3px 8px"),
textsize = "15px",
direction = "auto")) %>%
addLegend(pal = paleta, values = ~bins, opacity = 1,position = "bottomright",title ="cantidad pensionados aps") # le decimos que paleta queremos, los valores, el nombre y la ubicacion de la leyenda
## Warning: sf layer has inconsistent datum (+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs).
## Need '+proj=longlat +datum=WGS84'
g3