library(janitor) # adorn_totals
library(readr) # read_csv
library(dplyr) # manipular variables
library(purrr)
library(mxmaps) # df_mxmunicipio
library(tidyr)
library(flextable)
Ejemplo1:
título: “Mi documento” autor: “Tu Nombre” fecha: 2026-11-08
Ejemplo 2:
title: “Análisis de Datos con R” author: “María” date: “2026-11-08” output: word: toc: true theme: cosmo
Enlaces:
Elaboración de reportes: https://epirhandbook.com/es/new_pages/rmarkdown.es.html
Encuesta Nacional de Ocupación y Empleo (ENOE): Es la fuente de información laboral más importante y frecuente del país. Genera datos mensuales y trimestrales.
• Información de: La tasa de desocupación (desempleo), la tasa de informalidad laboral, la población económicamente activa (PEA), los niveles de ingresos (salarios en relación con el salario mínimo) y las horas trabajadas.
• Utilidad: Es el termómetro real del mercado. Te permite saber qué tipo de perfiles están ocupados (por escolaridad, edad y género) y en qué sectores (servicios, manufactura, comercio).
Información:
https://www.inegi.org.mx/datosabiertos/
Nombre de archivo de la capeta,Título de Tablas:
conjunto_de_datos_coe1_enoe_2026_2t: Cuestionario de ocupación y empleo parte 1
conjunto_de_datos_coe2_enoe_2026_2t: Cuestionario de ocupación y empleo parte 2
conjunto_de_datos_hog_enoe_2026_2t: Hogares
conjunto_de_datos_sdem_enoe_2026_2t: Características sociodemográficas
conjunto_de_datos_viv_enoe_2026_2t: Vivienda
Visualización:
View()
head(): Muestra los primeros elementos del data.frame
tail(): Muestra los últimos elementos del data.frame
make.names(): quitas espacios en los nombres de columnas.
glimpse(): Muestra el tipo de dato de cada columna y los primeros valores en formato de lista.
Paquetes para bases de datos en otros formatos:
| Abreviatura | Tipo en R | Descripción |
|---|---|---|
| chr | Character | Texto o cadenas de caracteres. |
| Factor | Factor | Variables categóricas (con niveles/etiquetas). |
| num / dbl | Numeric | Números reales (con o sin decimales). |
| int | Integer | Números enteros. |
| logi | Logical | TRUE o FALSE. |
| Date | Date | Fechas. |
La función str(), permite explorar el tipo de variables que se ha importado
datos_sdem_enoe_2026_1t<- read.csv("C:/Documetos MGM_OS_Dell/Documentos Maria_Dell/Cursos_Taller_Impartidos/Taller_47_Aniversario_FM/Bases de datos/conjunto_de_datos_sdem_enoe_2026_1t/conjunto_de_datos/conjunto_de_datos_sdem_enoe_2026_1t.csv" )
View(datos_sdem_enoe_2026_1t)
Objetivo: Hacer un estudio de la población que se encuentra en
Variables:
• Número de municipio según entidad — cve_mun
• Entidad federativa — cve_ent
• Pregunta 8 Sexo — sex
• Pregunta 9 Edad — eda
• Pregunta 12 ¿Sabe leer y escribir un recado…? — cs_p12
• Pregunta 13 ¿Hasta qué año aprobó… en la escuela? — cs_p13_1
• Pregunta 13 ¿Hasta qué año aprobó… en la escuela? — cs_p13_2
• Pregunta 14 Clave de la carrera — cs_p14_c
• Pregunta 15 ¿Qué estudio le pidieron a… para ingresar a esta carrera? — cs_p15
• Pregunta 16 ¿Terminó los estudios del plan de esta carrera? — cs_p16
• Pregunta 17 ¿… Asiste actualmente a la escuela? — cs_p17
• Pregunta 18 En total ¿cuántas hijas e hijos que nacieron vivos ha tenido…? — n_hij
• Pregunta 19 Estado conyugal — e_con
• Clasificación de la población ocupada por nivel de ingreso — ing7c
• Clasificación de la población ocupada según sector de actividades - Totales — rama_est1
• Clasificación de la población según sector de actividades - Subtotales — rama_est2
• Clasificación de la población ocupada por tipo de unidad económica - Totales — tue1
• Clasificación de la población ocupada por tipo de unidad económica - Subtotales — tue2
• Clasificación de la población de 5 años y más por nivel de instrucción — niv_ins
• Clasificación de la población de 15 años y más: Grupo edad 5 clases — eda5c
• Clasificación de la población de 15 años y más: Grupo edad 7 clases — eda7c
• Clasificación de la población de 15 años y más: Grupo edad 12 clases — eda12c
• Clasificación de la población femenina de 15 años y más por número de hijos e hijas — hij5c
• Clasificación de la población de 15 años y más por condición de actividad e inactividad — domestico
• Años de escolaridad — anios_esc
• Horas trabajadas en la semana — hrsocup
• Ingresos mensuales — ing_x_hrs
• Promedio de ingreso por hora trabajada — ing_x_hrs
variables <- c(
"cve_mun", "cve_ent", "sex", "eda", "cs_p12",
"cs_p13_1", "cs_p13_2", "cs_p14_c", "cs_p15", "cs_p16", "cs_p17",
"n_hij", "e_con", "ing7c", "rama_est1", "rama_est2", "tue1",
"tue2", "niv_ins", "eda5c", "eda7c", "eda12c",
"hij5c", "domestico", "anios_esc", "hrsocup", "ing_x_hrs", "ing_x_hrs"
)
dat<-datos_sdem_enoe_2026_1t|>
dplyr::select(variables)
View(dat)
ruta_carpeta <- "C:/Documetos MGM_OS_Dell/Documentos Maria_Dell/Cursos_Taller_Impartidos/Taller_47_Aniversario_FM/Bases de datos/conjunto_de_datos_sdem_enoe_2026_1t/catalogos/"
var_eti <- c(
"cve_ent", "sex", "cs_p12",
"cs_p13_1", "cs_p13_2", "cs_p14_c", "cs_p15",
"cs_p16", "cs_p17", "e_con", "ing7c",
"rama_est1", "rama_est2", "tue1", "tue2",
"niv_ins", "eda5c", "eda7c", "eda12c", "hij5c",
"domestico", "anios_esc"
)
dat_etiquetado <- dat
for (var in var_eti) {
archivo_csv <- paste0(ruta_carpeta, var, ".csv")
if (file.exists(archivo_csv)) {
# CAMBIO AQUÍ: Cambiamos "latin1" por "UTF-8" para corregir los acentos de la ENOE
catalogo_actual <- read.csv(archivo_csv, sep = ",", header = TRUE,
fileEncoding = "UTF-8", check.names = FALSE,
stringsAsFactors = FALSE)
if ("CVE" %in% colnames(catalogo_actual) & "DESCRIP" %in% colnames(catalogo_actual)) {
dat_etiquetado[[var]] <- as.character(dat_etiquetado[[var]])
catalogo_actual$CVE <- as.character(catalogo_actual$CVE)
catalogo_actual <- catalogo_actual %>% rename(!!var := CVE)
dat_etiquetado <- dat_etiquetado %>%
left_join(catalogo_actual, by = var)
if ("DESCRIP" %in% colnames(dat_etiquetado)) {
dat_etiquetado[[var]] <- dat_etiquetado$DESCRIP
dat_etiquetado$DESCRIP <- NULL
}
}
} else {
warning(paste("No se pudo encontrar el archivo:", archivo_csv))
}
}
dat_nom<-df_mxmunicipio_2020 |>
filter(state_code =="12")|>
select(municipio_code,municipio_name) %>%
mutate(cve_mun=as.numeric(municipio_code))
dat_estudio <- inner_join(dat_etiquetado, dat_nom, by = "cve_mun" )
De acuerdo con los resultados sociodemográficos obtenidos para el estado de Guerrero en el periodo de estudio, se registró una muestra total de 11,817 personas encuestadas. Se observa un predominio de la población femenina, la cual representa el 53.1% (6,274 casos) del total de la muestra estatal, frente a un 46.9% (5,543 casos) correspondiente a la población masculina.”
dat <- dat_estudio |>
filter(cve_ent == 12, !is.na(sex)) |>
group_by(sex) |>
count() |>
ungroup() |>
mutate(Porcentaje=(n/sum(n))*100 )|>
adorn_totals(where = "row", name = "Total")
flextable(dat) |>
autofit()|>
set_caption("Distribución de la población, 2t ENOE, 2025.")
sex | n | Porcentaje |
|---|---|---|
Hombre | 5,543 | 46.907 |
Mujer | 6,274 | 53.093 |
Total | 11,817 | 100.000 |
El análisis de la distribución municipal de la muestra de la ENOE para el estado de Guerrero revela una marcada concentración en el municipio de Acapulco de Juárez, el cual abarca el 48.6% del total de los registros con 5,850 personas encuestadas. El resto de la muestra se distribuye en proporciones significativamente menores entre los demás municipios de la entidad, destacando Teloloapan con el 5.1% (609 casos), la capital Chilpancingo de los Bravo con el 4.5% (543 casos) y Taxco de Alarcón con el 3.9% (464 casos).
dat <- dat_estudio |>
filter(cve_ent == 12) |>
group_by(municipio_name) |>
count() |>
ungroup() |>
mutate(Porcentaje=(n/sum(n))*100 )|>
arrange(desc(n))
flextable(dat) |>
autofit() |>
set_header_labels( municipio_name = "Municipio") |>
set_caption("Población encuestada en 2t del ENOE, 2026")
Municipio | n | Porcentaje |
|---|---|---|
Acapulco de Juárez | 5,850 | 48.5840047 |
Teloloapan | 609 | 5.0577195 |
Chilpancingo de los Bravo | 543 | 4.5095922 |
Taxco de Alarcón | 464 | 3.8535005 |
Coyuca de Benítez | 444 | 3.6874014 |
Iguala de la Independencia | 418 | 3.4714725 |
Zihuatanejo de Azueta | 304 | 2.5247073 |
Tecoanapa | 238 | 1.9765800 |
Chilapa de Álvarez | 221 | 1.8353957 |
Huitzuco de los Figueroa | 220 | 1.8270908 |
San Luis Acatlán | 211 | 1.7523462 |
Ajuchitlán del Progreso | 196 | 1.6277718 |
Acatepec | 179 | 1.4865875 |
Tlacoachistlahuaca | 162 | 1.3454032 |
Tlapa de Comonfort | 155 | 1.2872685 |
Petatlán | 143 | 1.1876090 |
Mártir de Cuilapan | 129 | 1.0713396 |
Olinalá | 109 | 0.9052404 |
Cutzamala de Pinzón | 105 | 0.8720206 |
Tlapehuala | 101 | 0.8388008 |
Arcelia | 98 | 0.8138859 |
Técpan de Galeana | 94 | 0.7806661 |
José Joaquín de Herrera | 80 | 0.6643966 |
Alcozauca de Guerrero | 78 | 0.6477867 |
Coyuca de Catalán | 77 | 0.6394818 |
Atlixtac | 76 | 0.6311768 |
Xochistlahuaca | 75 | 0.6228719 |
San Marcos | 74 | 0.6145669 |
Cualác | 68 | 0.5647371 |
Copanatoyac | 66 | 0.5481272 |
Azoyú | 64 | 0.5315173 |
Mochitlán | 63 | 0.5232124 |
Copalillo | 53 | 0.4401628 |
San Miguel Totolapan | 49 | 0.4069429 |
Ometepec | 48 | 0.3986380 |
Buenavista de Cuéllar | 46 | 0.3820281 |
Xalpatláhuac | 46 | 0.3820281 |
Cochoapa el Grande | 45 | 0.3737231 |
Pungarabato | 40 | 0.3321983 |
El análisis del nivel de instrucción alcanzado por la población de 15 a 24 años en el estado de Guerrero revela que la opción educativa mayoritaria es la preparatoria o bachillerato, abarcando al 42.3% (746 casos) de los jóvenes encuestados. Le sigue la educación secundaria con el 33.5% (590 casos), mientras que solo el 14.4% (254 casos) ha logrado acceder o concluir estudios de nivel profesional o superior en el periodo analizado.
dat <- dat_estudio |>
filter(cve_ent == 12, eda5c=="15 a 24 años") |>
group_by(cs_p13_1) |>
count() |>
ungroup() |>
mutate(Porcentaje=(n/sum(n))*100 )|>
arrange(desc(n))
flextable(dat) |>
autofit() |>
set_header_labels( cs_p13_1 = "Nivel de estudios") |>
set_caption("Nivel de estudios de la población de 15 a 24 años, 2t del ENOE, 2026.")
Nivel de estudios | n | Porcentaje |
|---|---|---|
Preparatoria o bachillerato | 746 | 42.3142371 |
Secundaria | 590 | 33.4656835 |
Profesional | 254 | 14.4072604 |
Primaria | 142 | 8.0544526 |
Carrera técnica | 13 | 0.7373795 |
Ninguno | 13 | 0.7373795 |
Preescolar | 3 | 0.1701645 |
No sabe | 2 | 0.1134430 |
Al examinar los indicadores continuos de la población de 15 a 24 años en el estado de Guerrero, se identifica una edad promedio de 19.1 años (+- 2.9). En el ámbito familiar, la presencia de hijos nacidos vivos es incipiente, registrando una media de 0.26 hijos por joven, con un rango que va de 0 a 3. Por su parte, la inserción laboral medida a través de las horas semanales trabajadas exhibe una profunda heterogeneidad (CV = 143.7%); el promedio general se sitúa en 15.8 horas por semana, sin embargo, se detectan casos extremos de sobreocupación laboral que alcanzan hasta las 112 horas semanales, conviviendo con una parte significativa de la población juvenil que no registra horas de trabajo.
dat <- dat_estudio |>
filter(cve_ent == 12, eda5c=="15 a 24 años") |>
select(eda,n_hij,hrsocup)|>
rename(nhij=n_hij)|>
summarise(across(
everything(),
list(
Min = ~ min(.x, na.rm = TRUE),
Max = ~ max(.x, na.rm = TRUE),
Media = ~ mean(.x, na.rm = TRUE),
SD = ~ sd(.x, na.rm = TRUE),
CV = ~ (sd(.x, na.rm = TRUE) / mean(.x, na.rm = TRUE)) * 100 ))) |>
pivot_longer(
cols = everything(),
names_to = c("Variable", "Estadistico"),
names_sep = "_")|>
pivot_wider(
names_from = Estadistico,
values_from = value)
flextable(dat) |>
autofit() |>
set_caption("Estadísticass de 15 a 24 años, 2t del ENOE, 2026.")
Variable | Min | Max | Media | SD | CV |
|---|---|---|---|---|---|
eda | 15 | 24 | 19.1298922 | 2.9281264 | 15.30655 |
nhij | 0 | 3 | 0.2660654 | 0.5926645 | 222.75144 |
hrsocup | 0 | 112 | 15.8224617 | 22.7311113 | 143.66356 |
Instalar los paquetes: