1 Introducción

1.1 Descripción

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.


2 Preparar el ambiente de trabajo

2.1 Limpiar el entorno

# 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

3 Instalar y cargar paqueterías

3.1 Instalar paqueterías

install.packages(c("readxl", "openxlsx"))

3.2 Cargar paqueterías

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

4 Importar datos

4.1 Importar datos de excel

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>

4.2 Limpieza de datos

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"), ]

5 Ordenar datos

5.1 De menor a mayor

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

6 Resumen de datos

6.1 Estadística Descriptiva

resumen <- summary(datos_2020$Ingreso_2020)

resumen
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    7489   12294   13703   14315   16279   21280

6.2 Exportar a excel

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)

7 Visualización de datos

7.1 Histograma Ingresos

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")

7.2 Gráfico de barras Ingreso

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)


8 Exportar datos a excel

write.csv(datos_2020, "datosingresos2020.csv", row.names = FALSE)

9 Ejercicio

Replicar el procedimiento realizado en esta práctica utilizando la columna correspondiente al año 2016 (3).

9.1 Instrucciones

  1. Importar la base de datos.
  2. Seleccionar las columnas correspondientes a Estado y 2016.
  3. Limpiar los datos eliminando deciles y coeficiente de Gini.
  4. Ordenar los estados de menor a mayor ingreso.
  5. Calcular la estadística descriptiva.
  6. Elaborar un histograma.
  7. Elaborar un gráfico de barras.
  8. Exportar la base de datos limpia a Excel.

Preguntas de análisis

  • ¿Qué entidades presentan mayor ingreso promedio?
  • ¿Qué entidades presentan menor ingreso promedio?
  • ¿Qué diferencias se observan entre 2016 y 2020?