En esta práctica se trabajará con datos reales provenientes de la Encuesta Nacional de Ingresos y Gastos de los Hogares (ENIGH) elaborada por el INEGI.
El objetivo es importar una base de datos en formato Excel, limpiar la información y analizar el ingreso corriente total promedio trimestral per cápita por entidad federativa.
Se aplicarán herramientas básicas de programación en R para:
importar datos
limpiar bases estadísticas
generar estadística descriptiva
visualizar información mediante gráficos
exportar resultados
Este ejercicio permite comprender las diferencias regionales del ingreso en México y desarrollar habilidades básicas de análisis de datos aplicadas a la economía.
# Borra todos los objetos del entorno
rm(list = ls())
# Libera memoria
gc()
## used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 532089 28.5 1190061 63.6 660385 35.3
## Vcells 969308 7.4 8388608 64.0 1769426 13.5
# Muestra en qué carpeta estás trabajando
getwd()
## [1] "C:/Users/brand/iCloudDrive/DESK2025SAID/CLASES 20262/LABORATORIO 4/practica4"
#Ubicar carpeta en la pestaña de Session > Set working > Choose
install.packages(c("readxl", "openxlsx"))
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
library(openxlsx)
## Warning: package 'openxlsx' was built under R version 4.3.3
ingresos <- read_excel("practica4.xlsx",
sheet = "cuadro_ingreso",
col_names = FALSE)
## New names:
## • `` -> `...1`
## • `` -> `...2`
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
## • `` -> `...6`
## • `` -> `...7`
head(ingresos)
## # A tibble: 6 × 7
## ...1 ...2 ...3 ...4 ...5 ...6 ...7
## <chr> <chr> <dbl> <dbl> <chr> <lgl> <chr>
## 1 "INEGI. Encuesta Nacional de Ingresos y… <NA> NA NA <NA> NA ÍNDI…
## 2 <NA> <NA> NA NA <NA> NA <NA>
## 3 "INGRESO CORRIENTE TOTAL PROMEDIO TRIME… <NA> NA NA CUAD… NA <NA>
## 4 "ENTIDAD FEDERATIVA" <NA> 2016 2018 2020 NA <NA>
## 5 <NA> <NA> NA NA <NA> NA <NA>
## 6 "NACIONAL" <NA> 15216. 14839. 1418… NA <NA>
datos_2020 <- ingresos[, c(1,5)]
colnames(datos_2020) <- c("Estado","Ingreso_2020")
datos_2020$Ingreso_2020 <- as.numeric(datos_2020$Ingreso_2020)
## Warning: NAs introducidos por coerción
datos_2020 <- na.omit(datos_2020)
datos_2020 <- datos_2020[!datos_2020$Estado %in%
c("ENTIDAD FEDERATIVA", "NACIONAL",
"I","II","III","IV","V","VI","VII","VIII","IX","X",
"COEFICIENTE DE GINI3"), ]
datos_2020 <- datos_2020[order(datos_2020$Ingreso_2020), ]
datos_2020
## # A tibble: 32 × 2
## Estado Ingreso_2020
## <chr> <dbl>
## 1 CHIAPAS 7489.
## 2 GUERRERO 8746.
## 3 TLAXCALA 9622.
## 4 OAXACA 9921.
## 5 VERACRUZ DE IGNACIO DE LA LLAVE 10355.
## 6 PUEBLA 10468.
## 7 HIDALGO 11301.
## 8 TABASCO 11892.
## 9 MORELOS 12428.
## 10 ZACATECAS 12496.
## # ℹ 22 more rows
resumen <- summary(datos_2020$Ingreso_2020)
resumen
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 7489 12294 13703 14315 16279 21280
resumen <- data.frame(
Estadistica = names(resumen),
Valor = as.numeric(resumen)
)
wb <- createWorkbook()
addWorksheet(wb, "resumen")
writeData(wb, "resumen", as.data.frame(resumen))
saveWorkbook(wb, "practica4_estadistica.xlsx", overwrite = TRUE)
hist(datos_2020$Ingreso_2020,
main = "Distribución del ingreso promedio por entidad federativa (2020)",
xlab = "Ingreso promedio trimestral per cápita",
col = "skyblue",
border = "white")
datos_2020 <- datos_2020[order(datos_2020$Ingreso_2020), ]
barplot(datos_2020$Ingreso_2020,
names.arg = datos_2020$Estado,
las = 2,
col = "steelblue",
main = "Ingreso promedio por entidad federativa (2020)",
ylab = "Ingreso promedio",
cex.names = 0.7)
write.csv(datos_2020, "datosingresos2020.csv", row.names = FALSE)
Replicar el procedimiento realizado en esta práctica utilizando la columna correspondiente al año 2016 (3).
Preguntas de análisis