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
# Cargar el DataSet
ITER <- read.csv("ITER_19CSV202.csv")
# Filtrar solo por el municipio "Mier y Noriega"
MieryNoriega <- filter(ITER, NOM_MUN == "Mier y Noriega")
Población Total- POBTOT Población 15 años y más Analfabeta - P15YM_AN Grado promedio de escolaridad - GRAPROES Población de 12 años y más ocupada - POCUPADA Población afiliada a servicios de salud - PDER_SS Total de hogares censales - TOTHOG Viviendas particulares habitadas que disponen de agua entubada en el ámbito de la vivienda - VPH_AGUADV Viviendas particulares habitadas que disponen de drenaje - VPH_DRENAJ Viviendas particulares habitadas que disponen de Internet - VPH_INTER
#Nuevo DataFrame solo con las columnas relevantes
df_final <- MieryNoriega[,c("NOM_LOC","POBTOT","P15YM_AN","GRAPROES","POCUPADA","PDER_SS","TOTHOG","VPH_AGUADV","VPH_DRENAJ","VPH_INTER")]
#Revisar estructura del nuevo DataFrame
str(df_final)
## 'data.frame': 28 obs. of 10 variables:
## $ NOM_LOC : chr "Total del Municipio" "Mier y Noriega" "La Cardona" "Cerros Blancos" ...
## $ POBTOT : int 7652 1180 479 586 549 206 215 45 208 124 ...
## $ P15YM_AN : chr "595" "83" "77" "36" ...
## $ GRAPROES : chr "6.59" "7.27" "5.3" "6.65" ...
## $ POCUPADA : chr "2263" "275" "136" "224" ...
## $ PDER_SS : chr "7108" "1107" "445" "583" ...
## $ TOTHOG : chr "1881" "335" "131" "122" ...
## $ VPH_AGUADV: chr "1492" "322" "118" "117" ...
## $ VPH_DRENAJ: chr "858" "286" "116" "24" ...
## $ VPH_INTER : chr "183" "123" "0" "1" ...
#Crear vector con las columnas numéricas
cols_num <- c("P15YM_AN","GRAPROES","POCUPADA","PDER_SS","TOTHOG","VPH_AGUADV","VPH_DRENAJ","VPH_INTER")
#Convertir columnas character a numéricas y convertir * a NA
df_final[cols_num] <- lapply(df_final[cols_num], function(x) as.numeric(gsub(",", "", x)))
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
#Verificar cambios
str(df_final)
## 'data.frame': 28 obs. of 10 variables:
## $ NOM_LOC : chr "Total del Municipio" "Mier y Noriega" "La Cardona" "Cerros Blancos" ...
## $ POBTOT : int 7652 1180 479 586 549 206 215 45 208 124 ...
## $ P15YM_AN : num 595 83 77 36 21 18 11 1 12 5 ...
## $ GRAPROES : num 6.59 7.27 5.3 6.65 7.46 5.44 6.51 6.13 5.87 6.58 ...
## $ POCUPADA : num 2263 275 136 224 183 ...
## $ PDER_SS : num 7108 1107 445 583 478 ...
## $ TOTHOG : num 1881 335 131 122 142 ...
## $ VPH_AGUADV: num 1492 322 118 117 119 ...
## $ VPH_DRENAJ: num 858 286 116 24 30 16 17 11 0 0 ...
## $ VPH_INTER : num 183 123 0 1 3 0 1 1 0 0 ...
#Eliminar filas que contengan totales y filas que no son localidades
df_final <- df_final[2:(nrow(df_final)-2), ]
#Ver las primeras columnas de df_final
head(df_final)
## NOM_LOC POBTOT P15YM_AN GRAPROES POCUPADA
## 2 Mier y Noriega 1180 83 7.27 275
## 3 La Cardona 479 77 5.30 136
## 4 Cerros Blancos 586 36 6.65 224
## 5 Dolores 549 21 7.46 183
## 6 El Gallito 206 18 5.44 16
## 7 Jesús María del Terrero (El Lindero) 215 11 6.51 65
## PDER_SS TOTHOG VPH_AGUADV VPH_DRENAJ VPH_INTER
## 2 1107 335 322 286 123
## 3 445 131 118 116 0
## 4 583 122 117 24 1
## 5 478 142 119 30 3
## 6 192 54 46 16 0
## 7 202 51 50 17 1
#Sumar la columna POBTOT para calcular la población total del municipio
total_pobtot <- sum(df_final$POBTOT, na.rm = TRUE)
show(total_pobtot)
## [1] 7652
La población total del municipio es de 7652 ### Población Analfabeta
#Calcular el porcentaje de población analfabeta respecto a la población total
df_final$porc_analf <- (df_final$P15YM_AN / df_final$POBTOT) * 100
df_final[, c("NOM_LOC","POBTOT","P15YM_AN","porc_analf")]
## NOM_LOC POBTOT P15YM_AN porc_analf
## 2 Mier y Noriega 1180 83 7.033898
## 3 La Cardona 479 77 16.075157
## 4 Cerros Blancos 586 36 6.143345
## 5 Dolores 549 21 3.825137
## 6 El Gallito 206 18 8.737864
## 7 Jesús María del Terrero (El Lindero) 215 11 5.116279
## 8 La Joya del Zacate 45 1 2.222222
## 9 Lagunita de Taberna 208 12 5.769231
## 10 Las Mesas de San Juan 124 5 4.032258
## 11 Las Palomas (Lajillas) 865 43 4.971098
## 12 La Presita de Cerros Blancos (La Presita) 515 72 13.980583
## 13 El Refugio de Cerros Blancos 531 40 7.532957
## 14 San Antonio de Alamitos 412 17 4.126214
## 15 San Elías 30 2 6.666667
## 16 San Isidro 414 66 15.942029
## 17 San José de Cuatro Caminos 84 9 10.714286
## 18 San José de Medina (Rancho de Abajo) 14 1 7.142857
## 19 San Rafael de los Martínez 657 28 4.261796
## 20 Tapona Moreña 519 51 9.826590
## 21 San Diego 4 NA NA
## 22 Falfurrias (San Carlos) 1 NA NA
## 23 La Tortuga 1 NA NA
## 24 La Puerta de Guadalupe (Los Mireles) 4 NA NA
## 25 Tanque Roto 4 NA NA
## 26 Los García 5 NA NA
#Revisar estadísticas descriptivas del porcentaje de población analfabeta
c(
promedio = mean(df_final$porc_analf, na.rm = TRUE),
maximo = max(df_final$porc_analf, na.rm = TRUE),
minimo = min(df_final$porc_analf, na.rm = TRUE)
)
## promedio maximo minimo
## 7.585288 16.075157 2.222222
# Revisar cuales son las localidades con la tasa mas alta y más baja de analfabetismo
df_final[which.max(df_final$porc_analf), "NOM_LOC"]
## [1] "La Cardona"
df_final[which.min(df_final$porc_analf), "NOM_LOC"]
## [1] "La Joya del Zacate"
El municipio de Mier y Noriega tiene un promedio de 7.59 porcentaje de analfabetismo por localidad, la localidad con mayor tasa de analfabetismo es “La Cardona” con 16.08 y la localidad con menor tasa de analfabetismo es “La Joya del Zacate” con 2.22
#Revisar las columnas de nombre de localidad y grado promedio de escolaridad
df_final[, c("NOM_LOC","GRAPROES")]
## NOM_LOC GRAPROES
## 2 Mier y Noriega 7.27
## 3 La Cardona 5.30
## 4 Cerros Blancos 6.65
## 5 Dolores 7.46
## 6 El Gallito 5.44
## 7 Jesús María del Terrero (El Lindero) 6.51
## 8 La Joya del Zacate 6.13
## 9 Lagunita de Taberna 5.87
## 10 Las Mesas de San Juan 6.58
## 11 Las Palomas (Lajillas) 6.71
## 12 La Presita de Cerros Blancos (La Presita) 5.83
## 13 El Refugio de Cerros Blancos 6.64
## 14 San Antonio de Alamitos 6.80
## 15 San Elías 6.11
## 16 San Isidro 5.69
## 17 San José de Cuatro Caminos 5.98
## 18 San José de Medina (Rancho de Abajo) 6.13
## 19 San Rafael de los Martínez 7.47
## 20 Tapona Moreña 6.27
## 21 San Diego NA
## 22 Falfurrias (San Carlos) NA
## 23 La Tortuga NA
## 24 La Puerta de Guadalupe (Los Mireles) NA
## 25 Tanque Roto NA
## 26 Los García NA
#Revisar estadísticas descriptivas del grado promedio de escolaridad
c(
promedio = mean(df_final$GRAPROES, na.rm = TRUE),
maximo = max(df_final$GRAPROES, na.rm = TRUE),
minimo = min(df_final$GRAPROES, na.rm = TRUE)
)
## promedio maximo minimo
## 6.36 7.47 5.30
# Revisar cuales son las localidades con el grado promedio de escolaridad más alto y más bajo
df_final[which.max(df_final$GRAPROES), "NOM_LOC"]
## [1] "San Rafael de los Martínez"
df_final[which.min(df_final$GRAPROES), "NOM_LOC"]
## [1] "La Cardona"
El municipio de Mier y Noriega tiene un promedio de grado escolaridad de 6.36 por localidad, la localidad con el grado promedio de escolaridad más alto es “San Rafael de los Martínez” con 7.47 y la localidad con el grado promedio de escolaridad más bajo es “La Cardona” con 5.30
#Crear tabla ordenada por porcentaje de analfabetismo y grado promedio de escolaridad
tabla_rezago <- df_final[order(-df_final$porc_analf, df_final$GRAPROES),
c("NOM_LOC","porc_analf","GRAPROES","POBTOT")]
tabla_rezago
## NOM_LOC porc_analf GRAPROES POBTOT
## 3 La Cardona 16.075157 5.30 479
## 16 San Isidro 15.942029 5.69 414
## 12 La Presita de Cerros Blancos (La Presita) 13.980583 5.83 515
## 17 San José de Cuatro Caminos 10.714286 5.98 84
## 20 Tapona Moreña 9.826590 6.27 519
## 6 El Gallito 8.737864 5.44 206
## 13 El Refugio de Cerros Blancos 7.532957 6.64 531
## 18 San José de Medina (Rancho de Abajo) 7.142857 6.13 14
## 2 Mier y Noriega 7.033898 7.27 1180
## 15 San Elías 6.666667 6.11 30
## 4 Cerros Blancos 6.143345 6.65 586
## 9 Lagunita de Taberna 5.769231 5.87 208
## 7 Jesús María del Terrero (El Lindero) 5.116279 6.51 215
## 11 Las Palomas (Lajillas) 4.971098 6.71 865
## 19 San Rafael de los Martínez 4.261796 7.47 657
## 14 San Antonio de Alamitos 4.126214 6.80 412
## 10 Las Mesas de San Juan 4.032258 6.58 124
## 5 Dolores 3.825137 7.46 549
## 8 La Joya del Zacate 2.222222 6.13 45
## 21 San Diego NA NA 4
## 22 Falfurrias (San Carlos) NA NA 1
## 23 La Tortuga NA NA 1
## 24 La Puerta de Guadalupe (Los Mireles) NA NA 4
## 25 Tanque Roto NA NA 4
## 26 Los García NA NA 5
La localidad “La Cardona” presenta el mayor rezago educativo con un porcentaje de analfabetismo del 16.08 y un grado promedio de escolaridad de 5.30, mientras que la localidad “La Joya del Zacate” presenta el menor rezago educativo con un porcentaje de analfabetismo del 2.22 y un grado promedio de escolaridad de 6.13.
#Calcular el porcentaje de viviendas sin acceso a agua, drenaje, internet
df_final$sin_agua <- (df_final$TOTHOG - df_final$VPH_AGUADV) / df_final$TOTHOG * 100
df_final$sin_drenaje <- (df_final$TOTHOG - df_final$VPH_DRENAJ) / df_final$TOTHOG * 100
df_final$sin_internet <- (df_final$TOTHOG - df_final$VPH_INTER) / df_final$TOTHOG * 100
#Calcular el porcentaje de población sin acceso a servicios de salud
df_final$sin_salud <- (df_final$POBTOT - df_final$PDER_SS) / df_final$POBTOT * 100
df_final[, c("NOM_LOC","sin_agua","sin_drenaje","sin_internet","sin_salud")]
## NOM_LOC sin_agua sin_drenaje
## 2 Mier y Noriega 3.880597 14.626866
## 3 La Cardona 9.923664 11.450382
## 4 Cerros Blancos 4.098361 80.327869
## 5 Dolores 16.197183 78.873239
## 6 El Gallito 14.814815 70.370370
## 7 Jesús María del Terrero (El Lindero) 1.960784 66.666667
## 8 La Joya del Zacate 100.000000 8.333333
## 9 Lagunita de Taberna 20.930233 100.000000
## 10 Las Mesas de San Juan 100.000000 100.000000
## 11 Las Palomas (Lajillas) 35.678392 65.829146
## 12 La Presita de Cerros Blancos (La Presita) 28.682171 86.821705
## 13 El Refugio de Cerros Blancos 6.976744 95.348837
## 14 San Antonio de Alamitos 3.260870 59.782609
## 15 San Elías 85.714286 28.571429
## 16 San Isidro 75.490196 33.333333
## 17 San José de Cuatro Caminos 3.846154 0.000000
## 18 San José de Medina (Rancho de Abajo) 33.333333 100.000000
## 19 San Rafael de los Martínez 7.096774 52.258065
## 20 Tapona Moreña 51.694915 55.084746
## 21 San Diego NA NA
## 22 Falfurrias (San Carlos) NA NA
## 23 La Tortuga NA NA
## 24 La Puerta de Guadalupe (Los Mireles) NA NA
## 25 Tanque Roto NA NA
## 26 Los García NA NA
## sin_internet sin_salud
## 2 63.28358 6.1864407
## 3 100.00000 7.0981211
## 4 99.18033 0.5119454
## 5 97.88732 12.9326047
## 6 100.00000 6.7961165
## 7 98.03922 6.0465116
## 8 91.66667 13.3333333
## 9 100.00000 1.4423077
## 10 100.00000 0.0000000
## 11 89.94975 2.5433526
## 12 99.22481 25.2427184
## 13 97.67442 12.6177024
## 14 78.26087 6.0679612
## 15 100.00000 0.0000000
## 16 96.07843 4.8309179
## 17 100.00000 8.3333333
## 18 100.00000 7.1428571
## 19 96.12903 8.2191781
## 20 100.00000 0.0000000
## 21 NA NA
## 22 NA NA
## 23 NA NA
## 24 NA NA
## 25 NA NA
## 26 NA NA
En el municipio de Mier y Noriega no existe ninguna localidad que tenga acceso a los servicios de agua, drenaje, internet y salud en su totalidad, la localidad con mayor porcentaje de viviendas sin acceso a agua es “Las Mesas de San Juan” con 100%, la localidad con mayor porcentaje de viviendas sin acceso a drenaje es “Las Mesas de San Juan” con 100%, la localidad con mayor porcentaje de viviendas sin acceso a internet es “Las Mesas de San Juan” con 100% y la localidad con mayor porcentaje de población sin acceso a servicios de salud es “La Presita de Cerros Blancos (La Presita)” con 100% ### Índice simple de “Carencia de Servicios”
#Crear variables binarias para cada servicio, asignando 1 si la carencia es mayor o igual al 80% y 0 si es menor
df_final$car_agua <- ifelse(100 - df_final$sin_agua >= 80, 0, 1)
df_final$car_drenaje <- ifelse(100 - df_final$sin_drenaje >= 80, 0, 1)
df_final$car_internet <- ifelse(100 - df_final$sin_internet >= 80, 0, 1)
df_final$car_salud <- ifelse(100 - df_final$sin_salud >= 80, 0, 1)
#Calcular el índice de carencia sumando las variables binarias
df_final$indice_carencia <-
df_final$car_agua +
df_final$car_drenaje +
df_final$car_internet +
df_final$car_salud
#Revisar las localidades con mayor índice de carencia
df_final[order(-df_final$indice_carencia),
c("NOM_LOC","indice_carencia",
"car_agua","car_drenaje","car_internet","car_salud")]
## NOM_LOC indice_carencia car_agua
## 12 La Presita de Cerros Blancos (La Presita) 4 1
## 9 Lagunita de Taberna 3 1
## 10 Las Mesas de San Juan 3 1
## 11 Las Palomas (Lajillas) 3 1
## 15 San Elías 3 1
## 16 San Isidro 3 1
## 18 San José de Medina (Rancho de Abajo) 3 1
## 20 Tapona Moreña 3 1
## 4 Cerros Blancos 2 0
## 5 Dolores 2 0
## 6 El Gallito 2 0
## 7 Jesús María del Terrero (El Lindero) 2 0
## 8 La Joya del Zacate 2 1
## 13 El Refugio de Cerros Blancos 2 0
## 14 San Antonio de Alamitos 2 0
## 19 San Rafael de los Martínez 2 0
## 2 Mier y Noriega 1 0
## 3 La Cardona 1 0
## 17 San José de Cuatro Caminos 1 0
## 21 San Diego NA NA
## 22 Falfurrias (San Carlos) NA NA
## 23 La Tortuga NA NA
## 24 La Puerta de Guadalupe (Los Mireles) NA NA
## 25 Tanque Roto NA NA
## 26 Los García NA NA
## car_drenaje car_internet car_salud
## 12 1 1 1
## 9 1 1 0
## 10 1 1 0
## 11 1 1 0
## 15 1 1 0
## 16 1 1 0
## 18 1 1 0
## 20 1 1 0
## 4 1 1 0
## 5 1 1 0
## 6 1 1 0
## 7 1 1 0
## 8 0 1 0
## 13 1 1 0
## 14 1 1 0
## 19 1 1 0
## 2 0 1 0
## 3 0 1 0
## 17 0 1 0
## 21 NA NA NA
## 22 NA NA NA
## 23 NA NA NA
## 24 NA NA NA
## 25 NA NA NA
## 26 NA NA NA
En el municipio de Mier y Noriega, la localidad con mayor índice de carencia es “La Presita de Cerros Blancos (La Presita)” con un índice de 4, lo que indica que esta localidad presenta carencia en los servicios de agua, drenaje, internet y salud. Otras localidades con alto índice de carencia incluyen “Lagunita de Taberna” con un índice de 3, lo que indica carencia en los servicios de drenaje, internet y agua.
#Crear variable para distinguir entre cabecera municipal y localidades rurales
df_final$tipo_localidad <- ifelse(
df_final$NOM_LOC == "Mier y Noriega",
"Cabecera Municipal",
"Localidad Rural"
)
#Calcular promedios por tipo de carencia
df_final %>%
group_by(tipo_localidad) %>%
summarise(
analfabetismo = mean(porc_analf, na.rm=TRUE),
escolaridad = mean(GRAPROES, na.rm=TRUE),
sin_agua = mean(sin_agua, na.rm=TRUE),
sin_drenaje = mean(sin_drenaje, na.rm=TRUE),
sin_internet = mean(sin_internet, na.rm=TRUE),
sin_salud = mean(sin_salud, na.rm=TRUE),
carencia = mean(indice_carencia, na.rm=TRUE)
)
## # A tibble: 2 × 8
## tipo_localidad analfabetismo escolaridad sin_agua sin_drenaje sin_internet
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Cabecera Municipal 7.03 7.27 3.88 14.6 63.3
## 2 Localidad Rural 7.62 6.31 33.3 60.7 96.9
## # ℹ 2 more variables: sin_salud <dbl>, carencia <dbl>