Introducción

Mier y Noriega es uno de los municipios con mayores niveles de rezago social en el estado de Nuevo León y a pesar de formar parte de una de las entidades con mayor desarrollo económico del país, este municipio presenta importantes limitaciones en materia educativa, acceso a servicios básicos y conectividad.

El presente reporte tiene como objetivo analizar la situación socioeconómica de Mier y Noriega a partir de los datos del Censo de Población y Vivienda 2020 del INEGI, utilizando herramientas de análisis estadístico en R. A través de este ejercicio, se busca identificar patrones de desigualdad interna y zonas de alta vulnerabilidad.

Metodología

Para la elaboración de este diagnóstico se utilizó la base de datos ITER del Censo 2020. Los datos fueron importados a R, depurados y filtrados para conservar únicamente los registros correspondientes al municipio de Mier y Noriega.

Se eliminaron registros agregados y valores protegidos por confidencialidad y posteriormente, se construyeron indicadores relacionados con educación, servicios básicos y estructura poblacional. Asimismo, se generaron tablas comparativas que permiten analizar las brechas entre la cabecera municipal y las localidades rurales.

# Cargar librerías
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.3
## Warning: package 'ggplot2' was built under R version 4.3.3
## Warning: package 'tidyr' was built under R version 4.3.3
## Warning: package 'readr' was built under R version 4.3.3
## Warning: package 'purrr' was built under R version 4.3.3
## Warning: package 'dplyr' was built under R version 4.3.3
## Warning: package 'forcats' was built under R version 4.3.3
## Warning: package 'lubridate' was built under R version 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── 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(janitor)
## Warning: package 'janitor' was built under R version 4.3.3
## 
## Attaching package: 'janitor'
## 
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
library(readr)
library(stringr)
library(knitr)
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.3.3
## 
## Attaching package: 'kableExtra'
## 
## The following object is masked from 'package:dplyr':
## 
##     group_rows
# Importación de datos 
datos <- read_csv("C:/Users/Santiago Flores/OneDrive - Instituto Tecnologico y de Estudios Superiores de Monterrey/Desktop/Octavo Semestre Profesional/Análisis de Decisiones Bajo Condiciones de Incertidumbre/ITER_19CSV20.csv") %>%
  clean_names()
## 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 Mier y Noriega
# Nos quedamos únicamente con los registros del municipio
mier_all <- datos %>%
  filter(nom_mun == "Mier y Noriega")

# Revisión rápida: cuántos registros (localidades + total municipal)
nrow(mier_all)
## [1] 28
# Separación: Total municipal vs Localidades
# El ITER incluye una fila agregada del municipio (LOC = "0000") y también registros especiales (9998/9999) que se excluyen para análisis por localidad.
mier_total <- mier_all %>% filter(loc == "0000")

mier_loc <- mier_all %>%
  filter(!loc %in% c("0000","9998","9999"))
#Limpieza: El ITER marca con "*" ciertos valores protegidos. Los convertimos a NA para evitar errores al calcular porcentajes o promedios.
mier_loc <- mier_loc %>%
  mutate(across(everything(), ~na_if(as.character(.), "*"))) %>%
  # Convertimos a numérico SOLO lo que no sea nombre/categoría/clave.
  mutate(across(
    -any_of(c("nom_ent","nom_mun","nom_loc","cvegeo","cve_ent","cve_mun","loc")),
    readr::parse_number
  ))

# Validación rápida de población por localidad
summary(mier_loc$pobtot)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     1.0    14.0   208.0   306.1   519.0  1180.0
#Vista rápida: localidades más pobladas
mier_loc %>%
  select(nom_loc, pobtot) %>%
  arrange(desc(pobtot)) %>%
  head(10)
# Perfil general del municipio (total municipal)

# Aseguramos tipo numérico
mier_total <- mier_total %>%
  mutate(across(c(pobtot, p15ym_an, pea), ~as.numeric(.)))

# Indicadores "proxy" por 100 habitantes
mier_total <- mier_total %>%
  mutate(
    analfabetismo_por_100hab = 100 * (p15ym_an / pobtot),
    pea_por_100hab = 100 * (pea / pobtot)
  )

tabla_resumen_mun <- mier_total %>%
  transmute(
    Entidad = nom_ent,
    Municipio = nom_mun,
    `Población total (POBTOT)` = pobtot,
    `Pob. 15+ analfabeta (P15YM_AN)` = p15ym_an,
    `PEA 12+ (PEA)` = pea,
    `Analfabetismo por 100 hab (proxy)` = round(analfabetismo_por_100hab, 2),
    `PEA por 100 hab (proxy)` = round(pea_por_100hab, 2)
  )

tabla_resumen_mun

Perfil General del municipio

El municipio de Mier y Noriega cuenta con una población total de aproximadamente 7,652 habitantes. De este total, 595 personas mayores de 15 años presentan condición de analfabetismo, mientras que la población económicamente activa asciende a 2,356 personas. Esto se refleja en un promedio de 7.78 habitantes analfabetas de cada 100 y en 30.79 personas economicamente activas por cada 100.

Estos datos reflejan un municipio con una base poblacional reducida y con limitadas oportunidades de desarrollo económico, lo que influye directamente en sus condiciones sociales.

# 4) Rezago educativo por localidad
# Calculamos % de analfabetismo (15+) usando: analfabetas 15+ / población 15+ * 100
tabla_rezago_edu <- mier_loc %>%
  transmute(
    Localidad = nom_loc,
    `Población Total` = pobtot,
    `Escolaridad Promedio` = graproes,
    `% Analfabetismo (15+)` = if_else(p_15ymas > 0, 100 * (p15ym_an / p_15ymas), NA_real_)
  ) %>%
  mutate(across(c(`Escolaridad Promedio`, `% Analfabetismo (15+)`), ~round(.x, 2))) %>%
  arrange(desc(`% Analfabetismo (15+)`), `Escolaridad Promedio`)

# Tabla ordenada por mayor rezago educativo
tabla_rezago_edu
# 4) Tabla Mejorada
tabla_rezago_edu %>%
  kable(
    caption = "Rezago educativo por localidad en Mier y Noriega (Censo 2020)",
    digits = 2
  ) %>%
  kable_styling(full_width = FALSE)
Rezago educativo por localidad en Mier y Noriega (Censo 2020)
Localidad Población Total Escolaridad Promedio % Analfabetismo (15+)
La Cardona 479 5.30 23.84
San Isidro 414 5.69 22.45
La Presita de Cerros Blancos (La Presita) 515 5.83 20.45
Tapona Moreña 519 6.27 14.57
San José de Cuatro Caminos 84 5.98 13.64
San José de Medina (Rancho de Abajo) 14 6.13 12.50
El Gallito 206 5.44 12.08
El Refugio de Cerros Blancos 531 6.64 11.17
San Elías 30 6.11 11.11
Mier y Noriega 1180 7.27 9.88
Cerros Blancos 586 6.65 9.81
Lagunita de Taberna 208 5.87 8.89
Las Palomas (Lajillas) 865 6.71 8.60
Jesús María del Terrero (El Lindero) 215 6.51 7.43
Las Mesas de San Juan 124 6.58 6.85
San Rafael de los Martínez 657 7.47 6.51
San Antonio de Alamitos 412 6.80 6.12
Dolores 549 7.46 5.50
La Joya del Zacate 45 6.13 3.33
San Diego 4 NA NA
Falfurrias (San Carlos) 1 NA NA
La Tortuga 1 NA NA
La Puerta de Guadalupe (Los Mireles) 4 NA NA
Tanque Roto 4 NA NA
Los García 5 NA NA

Rezago educativo por localidad

El análisis por localidad muestra una distribución desigual del rezago educativo. Algunas comunidades, como La Cardona, San Isidro y La Presita, presentan porcentajes de analfabetismo superiores al 20%, lo que implica que aproximadamente una de cada cinco personas adultas no sabe leer ni escribir.

Asimismo, el grado promedio de escolaridad en estas comunidades se mantiene cercano a los cinco años, lo que equivale a educación primaria incompleta. En contraste, la cabecera municipal presenta mejores indicadores, con un 9.88% de analfabetismo y un promedio de 7.27 años de escolaridad.

Sin embargo, estos valores siguen siendo elevados en comparación con el promedio estatal, lo que evidencia un rezago educativo estructural en todo el municipio.

# 5) Carencias de servicios básicos e índice de carencia
# Creamos una categoría para identificar cabecera vs otras localidades
tabla_servicios <- mier_loc %>%
  mutate(
    Tipo = if_else(
      str_to_lower(nom_loc) == str_to_lower(nom_mun),
      "Cabecera Municipal",
      "Otras Localidades"
    )
  ) %>%
  transmute(
    Localidad = nom_loc,
    Tipo,
    vivpar_hab,
    vph_aguafv,   # viviendas sin agua entubada
    vph_nodren,   # viviendas sin drenaje
    vph_inter     # viviendas con internet
  ) %>%
  mutate(
    sin_internet = vivpar_hab - vph_inter,
    `% Sin Agua` = 100 * (vph_aguafv / vivpar_hab),
    `% Sin Drenaje` = 100 * (vph_nodren / vivpar_hab),
    `% Sin Internet` = 100 * (sin_internet / vivpar_hab),
    `Índice de Carencia` = (`% Sin Agua` + `% Sin Drenaje` + `% Sin Internet`)
  ) %>%
  mutate(across(starts_with("%"), ~round(.x, 2)),
         `Índice de Carencia` = round(`Índice de Carencia`, 2)) %>%
  arrange(desc(`Índice de Carencia`))

tabla_servicios
# Tabla mejorada
tabla_servicios %>%
  select(Localidad, Tipo, `% Sin Agua`, `% Sin Drenaje`, `% Sin Internet`, `Índice de Carencia`) %>%
  kable(
    caption = "Carencias en servicios básicos por localidad",
    digits = 2
  ) %>%
  kable_styling(full_width = FALSE)
Carencias en servicios básicos por localidad
Localidad Tipo % Sin Agua % Sin Drenaje % Sin Internet Índice de Carencia
Las Mesas de San Juan Otras Localidades 100.00 100.00 100.00 300.00
San José de Medina (Rancho de Abajo) Otras Localidades 33.33 100.00 100.00 233.33
Lagunita de Taberna Otras Localidades 20.93 100.00 100.00 220.93
La Presita de Cerros Blancos (La Presita) Otras Localidades 28.68 86.82 99.22 214.73
San Elías Otras Localidades 85.71 28.57 100.00 214.29
Tapona Moreña Otras Localidades 51.69 55.08 100.00 206.78
San Isidro Otras Localidades 76.24 33.66 96.04 205.94
La Joya del Zacate Otras Localidades 100.00 8.33 91.67 200.00
El Refugio de Cerros Blancos Otras Localidades 6.98 95.35 97.67 200.00
Dolores Otras Localidades 16.20 78.87 97.89 192.96
Las Palomas (Lajillas) Otras Localidades 35.68 65.83 89.95 191.46
El Gallito Otras Localidades 14.81 70.37 100.00 185.19
Cerros Blancos Otras Localidades 4.10 80.33 99.18 183.61
Jesús María del Terrero (El Lindero) Otras Localidades 1.96 66.67 98.04 166.67
San Rafael de los Martínez Otras Localidades 7.10 52.26 96.13 155.48
San Antonio de Alamitos Otras Localidades 3.26 59.78 78.26 141.30
La Cardona Otras Localidades 9.92 11.45 100.00 121.37
San José de Cuatro Caminos Otras Localidades 3.85 0.00 100.00 103.85
Mier y Noriega Cabecera Municipal 3.92 14.76 62.95 81.63
San Diego Otras Localidades NA NA NA NA
Falfurrias (San Carlos) Otras Localidades NA NA NA NA
La Tortuga Otras Localidades NA NA NA NA
La Puerta de Guadalupe (Los Mireles) Otras Localidades NA NA NA NA
Tanque Roto Otras Localidades NA NA NA NA
Los García Otras Localidades NA NA NA NA

Condiciones de vivienda y servicios básicos

El análisis de servicios básicos revela un panorama particularmente preocupante, pues varias localidades presentan carencias simultáneas en agua, drenaje e internet. Destaca el caso de Las Mesas de San Juan, donde el 100% de las viviendas carece de los tres servicios.

En general, el acceso a internet es el principal rezago del municipio, pues en la mayoría de las localidades, más del 95% de las viviendas no cuenta con conectividad digital. Incluso en la cabecera municipal, el 62.95% de las viviendas carece de este servicio.

Asimismo, persisten problemas significativos en el acceso al agua y drenaje, especialmente fuera de la cabecera municipal. En varias localidades, más del 30% de las viviendas no cuenta con agua potable y más del 60% carece de drenaje, lo que implica riesgos sanitarios y ambientales.

El índice de carencia muestra que numerosas comunidades presentan múltiples déficits simultáneos, lo que refleja una marginación acumulada y una limitada cobertura de infraestructura pública.

# 6) Comparación Cabecera vs Otras Localidades (promedios)

base_comp <- tabla_servicios %>%
  transmute(
    Tipo,
    pct_analf_15mas = tabla_rezago_edu$`% Analfabetismo (15+)`[match(Localidad, tabla_rezago_edu$Localidad)],
    escolaridad = tabla_rezago_edu$`Escolaridad Promedio`[match(Localidad, tabla_rezago_edu$Localidad)],
    sin_agua = `% Sin Agua`,
    sin_drenaje = `% Sin Drenaje`,
    sin_internet = `% Sin Internet`,
    indice = `Índice de Carencia`
  )

comparativo_6 <- base_comp %>%
  group_by(Tipo) %>%
  summarise(
    `Número de Localidades` = n(),
    `Analfabetismo Promedio (%)` = round(mean(pct_analf_15mas, na.rm = TRUE), 2),
    `Escolaridad Promedio` = round(mean(escolaridad, na.rm = TRUE), 2),
    `% Sin Agua` = round(mean(sin_agua, na.rm = TRUE), 2),
    `% Sin Drenaje` = round(mean(sin_drenaje, na.rm = TRUE), 2),
    `% Sin Internet` = round(mean(sin_internet, na.rm = TRUE), 2),
    `Índice de Carencia` = round(mean(indice, na.rm = TRUE), 2)
  )

comparativo_6
# Tabla mejorada
comparativo_6 %>%
  kable(
    caption = "Comparación promedio: Cabecera municipal vs Otras localidades",
    digits = 2
  ) %>%
  kable_styling(full_width = FALSE)
Comparación promedio: Cabecera municipal vs Otras localidades
Tipo Número de Localidades Analfabetismo Promedio (%) Escolaridad Promedio % Sin Agua % Sin Drenaje % Sin Internet Índice de Carencia
Cabecera Municipal 1 9.88 7.27 3.92 14.76 62.95 81.63
Otras Localidades 24 11.38 6.31 33.36 60.74 96.89 190.99

Comparación: Cabecera municipal vs localidades rurales

Los resultados muestran una brecha clara entre la cabecera municipal y las localidades rurales de Mier y Noriega. En educación, la cabecera registra un analfabetismo promedio de 9.88%, frente a 11.38% en las comunidades rurales, lo que representa una diferencia de 1.5 puntos porcentuales. Asimismo, la escolaridad promedio es mayor en la cabecera (7.27 años) que en el resto del municipio (6.31 años).

En servicios básicos, las desigualdades son más marcadas. Solo el 3.92% de las viviendas en la cabecera carece de agua, mientras que en las localidades rurales esta proporción asciende a 33.36%. En el acceso al drenaje, la diferencia es aún mayor: 14.76% en la cabecera contra 60.74% en las comunidades rurales.

La mayor brecha se observa en conectividad digital. En la cabecera, el 62.95% de las viviendas no cuenta con internet, mientras que en las zonas rurales este porcentaje alcanza el 96.89%, lo que refleja una desconexión casi total.

Finalmente, el índice promedio de carencia es de 81.63 en la cabecera y de 190.99 en las localidades rurales, es decir, más del doble.

Conclusión

El análisis confirma que Mier y Noriega presenta rezagos significativos en educación y acceso a servicios básicos, particularmente en sus localidades rurales. Aunque la cabecera municipal muestra condiciones relativamente mejores, persisten altos niveles de analfabetismo y carencias importantes en conectividad digital e infraestructura.

La brecha territorial es evidente, pues las comunidades rurales enfrentan mayores déficits en agua, drenaje e internet, así como menor escolaridad promedio. Estos resultados indican que el principal desafío del municipio no es solo la pobreza, sino la desigual distribución del desarrollo dentro de su propio territorio.

En conjunto, el diagnóstico evidencia la necesidad de intervenciones focalizadas que reduzcan las desigualdades internas y fortalezcan las condiciones de vida en las zonas más vulnerables.