Radiografía de la marginación: Análisis de Mier y Noriega, NL (Censo 2020)

María Fernanda García Valaguez | A01733720

El presente trabajo busca analizar los servicios básicos y nivel educativo del municipio Mier y Noriega N.L. distinguiendo entre localidades urbanas y rurales para ver si existe una diferenciación en el acceso a servicios básico y educación dentro del municipio.

Preparación del entorno

getwd()
## [1] "C:/Users/Fercs/OneDrive/Tec de Monterrey/Uni/S8/Analisis de decisiones/Victor/Descargas"

Librerias

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ readr     2.1.5
## ✔ ggplot2   3.5.1     ✔ stringr   1.5.1
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## 
## The following object is masked from 'package:dplyr':
## 
##     group_rows
library(ggpubr)

Archivo

df <- read_csv("ITER_19CSV20.csv")
## Rows: 4974 Columns: 286
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (282): NOM_ENT, MUN, NOM_MUN, LOC, NOM_LOC, LONGITUD, LATITUD, ALTITUD, ...
## dbl   (4): ENTIDAD, POBTOT, VIVTOT, TVIVHAB
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

Filtrado de información

MyN <- df |>
  filter(NOM_MUN=="Mier y Noriega")
#creación de un nuevo dataframe que contiene solo los datos para el municipio Mier y Noriega

Definición de variables utilizadas para el análisis

Variables poblacionales

Población total - POBTOT

Analfabetismo - P15YM_AN - Población de 15 años y más analfabeta

Grado promedio de escolaridad - GRAPROES

Servicios

Agua entubada - VPH_AGUADV Viviendas particulares habitadas que disponen de agua entubada en el ámbito de la vivienda

Drenaje - VPH_DRENAJ - Viviendas particulares habitadas que disponen de drenaje

Internet - VPH_INTER - Viviendas particulares habitadas que disponen de internet

Otras variables

TVIVHAB - Total de viviendas particulares habitadas

Energía eléctrica - VPH_C_ELEC - Viviendas particulares habitadas que disponen de energía eléctrica

Exploración y limpieza de datos

MyN<-MyN |>
  filter(NOM_LOC!="Total del Municipio")|> #se elimina la observación que contiene el agregado del municipio
  select(NOM_LOC,POBTOT, P15YM_AN, TVIVHAB, VPH_AGUADV, VPH_DRENAJ, VPH_INTER, VPH_C_ELEC, GRAPROES)|> #se seleccionan las variables relevantes para el análisis
    mutate(across(-NOM_LOC, as.character)) |>
  mutate(across(-NOM_LOC, ~ na_if(.x, "*"))) |> #para las observaciones que registran * debido a temas de privacidad se les tratará como NAs para no distorsionar el análisis
  mutate(across(-NOM_LOC, as.numeric))

Análisis de la estructura poblacional y educativa

Población total del municipio

sum(MyN$POBTOT)
## [1] 7671

Al sumar las localidades se obtiene que la población total del municipio esde 7671 habitantes. Sin embargo, esto difiere de los 7652 reportados en la observación “Total del municipio”.

Analfabetismo y escolaridad

rezago<-MyN|>
  mutate(Prop_AN=(MyN$P15YM_AN/MyN$POBTOT)*100)|> #proporciones de analfabetismo por localidad
  select(NOM_LOC,Prop_AN,GRAPROES)|> #seleccionamos variables a mostrar en la tablas. estas son las que se construyeron anteriormente
  arrange(desc(Prop_AN)) #se ordena de menor a mayor según ratio de analfabetismo

#tabla de rezago educativo
kable(rezago,digits=2,
      caption="Rezago educativo según localidad del municipio Mier y Noriega",
      col.names=c("Localidad","Proporción de analfabetismo","Grado promedio de escolaridad"))
Rezago educativo según localidad del municipio Mier y Noriega
Localidad Proporción de analfabetismo Grado promedio de escolaridad
La Cardona 16.08 5.30
San Isidro 15.94 5.69
Localidades de dos viviendas 15.38 4.42
La Presita de Cerros Blancos (La Presita) 13.98 5.83
San José de Cuatro Caminos 10.71 5.98
Tapona Moreña 9.83 6.27
El Gallito 8.74 5.44
El Refugio de Cerros Blancos 7.53 6.64
San José de Medina (Rancho de Abajo) 7.14 6.13
Mier y Noriega 7.03 7.27
San Elías 6.67 6.11
Cerros Blancos 6.14 6.65
Lagunita de Taberna 5.77 5.87
Jesús María del Terrero (El Lindero) 5.12 6.51
Las Palomas (Lajillas) 4.97 6.71
San Rafael de los Martínez 4.26 7.47
San Antonio de Alamitos 4.13 6.80
Las Mesas de San Juan 4.03 6.58
Dolores 3.83 7.46
La Joya del Zacate 2.22 6.13
Localidades de una vivienda 0.00 5.17
San Diego NA NA
Falfurrias (San Carlos) NA NA
La Tortuga NA NA
La Puerta de Guadalupe (Los Mireles) NA NA
Tanque Roto NA NA
Los García NA NA

En la tabla se observa que existen 5 localidades con un porcentaje de analfabetismo mayor al 10%. Siendo “La Cardona” y “San Isidro” las que observan un mayor nivel de analfabetismo, seguidas de las localidades de dos viviendas o menos. Únicamente 3localidades superan los 7 años de escolaridad promedio, siendo estas “Dolores”, “San Rafael de los Martínez”, y “Mier y Noriega”

Análisis de vivienda y servicios

#carencia de servicios
carencia_serv<-MyN|>
  mutate(
    PROP_AGUADV=(VPH_AGUADV/TVIVHAB)*100,
    PROP_DRENAJ=(VPH_DRENAJ/TVIVHAB)*100,
    PROP_INTER=(VPH_INTER/TVIVHAB)*100,
    PROP_ELEC=(VPH_C_ELEC/TVIVHAB)*100
    )

SERV<-carencia_serv|>
  select(PROP_AGUADV,PROP_DRENAJ,PROP_INTER,PROP_ELEC)#observar el comportamiento de los datos. se dividirá en 3 rangos para ir asignando puntos de 1-3

#El puntaje se asignará en orden inverso. Entre menos hogares cuenten con el servicio se asignan más puntos. Esto para que un número más grande refleje una mayor carencia en los hogares de la localidad
carencia_serv<-carencia_serv|>
  #puntos agua entubada
  mutate(INDIC_AGUADV=if_else(PROP_AGUADV<1,3,
                    if_else(PROP_AGUADV<33.33,2,
                            if_else(PROP_AGUADV<66.66,1,0))))|>
  #puntos drenaje
    mutate(INDIC_DRENAJ=if_else(PROP_DRENAJ<1,3,
                    if_else(PROP_DRENAJ<33.33,2,
                            if_else(PROP_DRENAJ<66.66,1,0))))|>
  #puntos internet
  mutate(INDIC_INTER=if_else(PROP_INTER<1,3,
                    if_else(PROP_INTER<33.33,2,
                            if_else(PROP_INTER<66.66,1,0))))|>
  #puntos electricidad
  mutate(INDIC_ELEC=if_else(PROP_ELEC<1,3,
                    if_else(PROP_ELEC<33.33,2,
                            if_else(PROP_ELEC<66.66,1,0))))|>
  mutate(
    INDIC_CARENCIA=INDIC_ELEC+INDIC_INTER+INDIC_DRENAJ+INDIC_AGUADV) #indice total de carencias
#tabla de carencias
tabla_carencia<-carencia_serv|>
  select(NOM_LOC,INDIC_ELEC,INDIC_INTER,INDIC_DRENAJ,INDIC_AGUADV,INDIC_CARENCIA)|>
  arrange(desc(INDIC_CARENCIA))

kable(tabla_carencia,
      caption="Nivel de carencia de servicios básicos según localidad",
      col.names=c("Localidad","Carencia de electricidad","Carencia de internet","Carencia de drenaje","Carencia de agua entubada","Nivel total de carencia"))
Nivel de carencia de servicios básicos según localidad
Localidad Carencia de electricidad Carencia de internet Carencia de drenaje Carencia de agua entubada Nivel total de carencia
Las Mesas de San Juan 0 3 3 3 9
Lagunita de Taberna 0 3 3 0 6
San José de Medina (Rancho de Abajo) 0 3 3 0 6
Cerros Blancos 0 3 2 0 5
El Gallito 0 3 2 0 5
La Joya del Zacate 0 2 0 3 5
La Presita de Cerros Blancos (La Presita) 0 3 2 0 5
San Elías 0 3 0 2 5
Tapona Moreña 0 3 1 1 5
Localidades de dos viviendas 0 3 1 1 5
Dolores 0 2 2 0 4
Las Palomas (Lajillas) 0 2 1 1 4
El Refugio de Cerros Blancos 0 2 2 0 4
San Isidro 0 2 0 2 4
Localidades de una vivienda 0 3 0 1 4
La Cardona 0 3 0 0 3
Jesús María del Terrero (El Lindero) 0 2 1 0 3
San Antonio de Alamitos 0 2 1 0 3
San José de Cuatro Caminos 0 3 0 0 3
San Rafael de los Martínez 0 2 1 0 3
Mier y Noriega 0 1 0 0 1
San Diego NA NA NA NA NA
Falfurrias (San Carlos) NA NA NA NA NA
La Tortuga NA NA NA NA NA
La Puerta de Guadalupe (Los Mireles) NA NA NA NA NA
Tanque Roto NA NA NA NA NA
Los García NA NA NA NA NA

Al realizar un análisis de carencia de servicios básicos se encuentra que todas las localidades cuentan con cobertura total de electricidad. Sin embargo al menos 10 localidades presentan carencias significativas en el resto de los servicios

Análisis Comparativo: Cabecera vs. localidades rurales

Brecha en educación

rezago$r_tipo_loc<-if_else(rezago$NOM_LOC=="Mier y Noriega","Cabecera municipal","Rural")

brecha_rezago <- rezago |>
  group_by(r_tipo_loc) |> #se agrupa según el tipo de localidad para obtener las medias y poder comparar
  summarise(
    analfabetismo = mean(Prop_AN, na.rm = TRUE),
    ascolaridad = mean(GRAPROES, na.rm = TRUE)
  )

kable(brecha_rezago,
      digits = 2,
      caption = "Comparación de medias: Cabecera vs Localidades Rurales",
      col.names=c("Tipo de Localidad","% de analfabetismo","Grado promedio de escolaridad")
)
Comparación de medias: Cabecera vs Localidades Rurales
Tipo de Localidad % de analfabetismo Grado promedio de escolaridad
Cabecera municipal 7.03 7.27
Rural 7.62 6.16
# PLOT analfabetismo
ggplot(rezago, aes(x = r_tipo_loc, 
                y = Prop_AN), na.omit(rezago$r_tipo_loc)) +
  geom_boxplot() +
  labs(x = "Tipo de localidad", y = "% analfabetismo",
       title = "Comparación del porcentaje de analfabetismo de la cabecera municipal vs. el resto de localidades") +
  theme_pubclean()
## Warning: Removed 6 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

Se observa que la cabecera municipal presenta una tasa de analfabetismo del 7.03%, mientras que el promedio en el resto de localidades es de 7.62%. Sin embargo cabe destacar que existe una gran varianza en el nivel de analfabetismo entre localidades, con algunas reportando hasta el 15%

# PLOT escolaridad
ggplot(rezago, aes(x = r_tipo_loc, 
                y = GRAPROES), na.omit(rezago$r_tipo_loc)) +
  geom_boxplot() +
  labs(x = "Tipo de localidad", y = "% analfabetismo",
       title = "Comparación del grado promedio de escolaridad de la cabecera municipal vs. el resto de localidades") +
  theme_pubclean()
## Warning: Removed 6 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

La cabecera municipal muestra 7.27 años de escolaridad promedio, con el resto de localidades presentando 6.16 en promedio, con algunas superando incluso a la cabecera.

Los datos anteriormente presentados sugieren que existe una diferenciación en la educación según si se radica en la cabecera municipal o alguna localidad rural.

Brecha de desigualdad en servicios

carencia_serv$tipo_loc<-if_else(carencia_serv$NOM_LOC=="Mier y Noriega","Cabecera municipal","Rural")#se crea variable categórica para distinguir entre la cabecera y el resto de localidades

brecha_serv <- carencia_serv |>
  group_by(tipo_loc) |> #se agrupa según el tipo de localidad para obtener las medias y poder comparar
  summarise(
    Agua = mean(PROP_AGUADV, na.rm = TRUE),
    Drenaje = mean(PROP_DRENAJ, na.rm = TRUE),
    Internet = mean(PROP_INTER, na.rm = TRUE),
    Electricidad = mean(PROP_ELEC, na.rm = TRUE),
    Carencia_total = mean(INDIC_CARENCIA, na.rm = TRUE)
  )

kable(brecha_serv,
      digits = 2,
      caption = "Comparación de medias: Cabecera vs Localidades Rurales",
      col.names=c("Tipo de Localidad","Cobertura de agua","Cobertura de drenaje","Cobetura de internet","Cobertura de electricidad","Nivel de carencia")
)
Comparación de medias: Cabecera vs Localidades Rurales
Tipo de Localidad Cobertura de agua Cobertura de drenaje Cobetura de internet Cobertura de electricidad Nivel de carencia
Cabecera municipal 96.12 85.37 36.72 97.31 1.00
Rural 63.35 40.35 2.80 96.93 4.55
# PLOT
ggplot(carencia_serv, aes(x = tipo_loc, 
                y = INDIC_CARENCIA), na.omit(carencia_serv$tipo_loc)) +
  geom_boxplot() +
  labs(x = "Tipo de localidad", y = "Nivel de carencia en servicios básicos",
       title = "Comparación del nivel de carencia de servicios básicos de la cabecera municipal vs. el resto de localidades") +
  theme_pubclean()
## Warning: Removed 6 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

Todas las localidades cuentan con una cobertura casi completa del servicio de electricidad, pero existe una diferencia de abastecimiento muy significativa en el resto de los servicios. La cabecera reporta un nivel de carencia de 1; esto significa que no se reportan niveles extremos de carencia para ninguno de los servicios - aunque la cobertura de internet se encuentra muy por debajo que la del resto de servicios básicos). Por otro lado, el resto de localidades reportan un nivel de carencia de 4.55 en promedio; lo anterior se traduce a que, en promedio, en cada localidad se vive carencia extrema de por lo menos uno de los servicios básicos. La cobertura de internet alcanzo a tan solo 2.8% de los hogares en el resto de localidades. Esto invita a pensar que limitantes presenta el municipio para lograr el acceso a internet a pesar de contar con una cobertura completa de la red eléctrica.