Introducción

Tema:

Percepción del nivel de vida en los hogares peruanos según escalón económico e ingresos (ENAHO 2021)

Justificación:

Analizar la percepción del nivel de vida a través del escalón económico y de los ingresos declarados permite comprender cómo los hogares se ubican dentro de la estructura social y cómo valoran su bienestar. El escalón económico refleja la posición que las familias creen ocupar en relación con la pobreza o la riqueza, mientras que la percepción sobre los ingresos evidencia si consideran que estos les permiten vivir bien o mal.

Estudiar estas dos dimensiones es relevante porque muestra no solo las condiciones materiales, sino también cómo las personas interpretan y evalúan su calidad de vida, lo cual resulta clave para entender las desigualdades sociales y orientar políticas públicas más sensibles a la experiencia cotidiana de los hogares.

Fuente de información: Módulo Gobernabilidad, Democracia y Transparencia de la ENAHO (datos del año 2021) http://iinei.inei.gob.pe/microdatos/

1. Importación de datos

  • Las librerías que voy a usar en todas las próximas variables son:
library(rio)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.1     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
library(dplyr)
library(gt)

Subir los datos de ENAHo, el módulo es el de Gobernabilidad, Democracia y Transparencia.

nvida=import('enaho01b-2021-2.sav')

# Ver las primeras filas
head(nvida, 5)
##    AÑO MES CONGLOME VIVIENDA HOGAR CODPERSO CODINFOR UBIGEO DOMINIO ESTRATO P23
## 1 2021  02   005007      003    11       01       01 010101       4       4   2
## 2 2021  02   005007      012    11       01       01 010101       4       4   2
## 3 2021  02   005007      022    11       01       01 010101       4       4   2
## 4 2021  02   005007      050    11       01       01 010101       4       4   2
## 5 2021  01   005009      041    11       01       01 010101       4       4   2
##   P24_1 P24_2 P24_3 P24_4 P24_5 P24_6 P24_7 P24_8 P24_9 P24_10 P24_11 P25 P26_1
## 1     2     2     2     2     2     2     2     2     2      2      2  NA    NA
## 2     2     2     2     2     2     2     2     2     2      2      2  NA    NA
## 3     2     2     2     2     2     2     2     2     2      2      2  NA    NA
## 4     2     2     2     2     2     2     2     2     2      2      2  NA    NA
## 5     2     2     2     2     2     2     2     2     2      2      2  NA    NA
##   P26_2 P26_3 P26_4 P26_5 P26_6 P26_7 P26_8 P26_9 P26_10 P26_11 P26_12 P26_13
## 1    NA    NA    NA    NA    NA    NA    NA    NA     NA     NA     NA     NA
## 2    NA    NA    NA    NA    NA    NA    NA    NA     NA     NA     NA     NA
## 3    NA    NA    NA    NA    NA    NA    NA    NA     NA     NA     NA     NA
## 4    NA    NA    NA    NA    NA    NA    NA    NA     NA     NA     NA     NA
## 5    NA    NA    NA    NA    NA    NA    NA    NA     NA     NA     NA     NA
##   P27_1 P27_2 P27_3 P27_4 P27_5 P27_6 P27_7 P28 P29_1 P29_2 P29_3 P29_4 P29_5
## 1    NA    NA    NA    NA    NA    NA    NA  NA    NA    NA    NA    NA    NA
## 2    NA    NA    NA    NA    NA    NA    NA  NA    NA    NA    NA    NA    NA
## 3    NA    NA    NA    NA    NA    NA    NA  NA    NA    NA    NA    NA    NA
## 4    NA    NA    NA    NA    NA    NA    NA  NA    NA    NA    NA    NA    NA
## 5    NA    NA    NA    NA    NA    NA    NA  NA    NA    NA    NA    NA    NA
##   P29_6 P32 P33_1 P33_2 P34 P34A P34B P34C P34D P37  P38 P38A P39B1 P39B2 P40$1
## 1    NA   1     3     2  NA    2    2   NA   NA   3 8000    2     5    NA     0
## 2    NA   2     3     3  NA    1    2   NA   NA   3  800    3     2    NA     1
## 3    NA   2     3     2  NA    9    9   NA   NA   3 4200    3     5    NA     1
## 4    NA   2     3     3  NA   NA   NA   NA   NA   3  600    2     3    NA     0
## 5    NA   2     3     3  NA    9    9   NA   NA   2 1000    2     2    NA     0
##   P40$2 P40$3 P40$4 P40$5 P40$6 P40$7 P40$8 P41 P42A$1 P42A$2 P42A$3 P42A$4
## 1     0     0     0     0     0     0     1  NA     NA     NA     NA     NA
## 2     0     0     0     0     0     0     0   1      0      0      0      0
## 3     0     0     0     0     0     0     0   1      0      0      0      0
## 4     1     0     0     0     0     0     0   1      0      0      0      0
## 5     1     0     0     0     0     0     0   2      0      0      0      0
##   P42A$5 P42A$6 P42A$7 P42A$8 P42A$9 P43 P44 P45_1 P45_2 P203_02 P204_02
## 1     NA     NA     NA     NA     NA  NA  NA     4     4       1       1
## 2      1      0      0      0      0   2   4     2     1       1       1
## 3      0      0      0      0      1   1  NA     5     5       1       1
## 4      0      0      0      0      1   2   5    10    10       1       1
## 5      0      1      0      0      0   2   5     2     2       1       1
##   P205_02 P206_02 P207_02 P208_02 P209_02 P301_02 TICUEST01B TIPOCUESTIONARIO
## 1       2      NA       1      56       4      11          2                2
## 2       2      NA       2      21       6       6          2                2
## 3       2      NA       1      62       2      10          2                2
## 4       2      NA       1      88       2       4          2                2
## 5       2      NA       2      62       6       1          2                2
##    FACTOR07  FACTOR_P NCONGLOME SUB_CONGLOME
## 1  72.56343  62.82659    007070           00
## 2  72.56343  62.82659    007070           00
## 3  72.56343  62.82659    007070           00
## 4  72.56343  62.82659    007070           00
## 5 477.37273 312.16936    007076           00

Revisar la estructura de los datos:

# Dimensiones (filas y columnas)
dim(nvida)
## [1] 34245    99
# Nombres de columnas
colnames(nvida)
##  [1] "AÑO"              "MES"              "CONGLOME"         "VIVIENDA"        
##  [5] "HOGAR"            "CODPERSO"         "CODINFOR"         "UBIGEO"          
##  [9] "DOMINIO"          "ESTRATO"          "P23"              "P24_1"           
## [13] "P24_2"            "P24_3"            "P24_4"            "P24_5"           
## [17] "P24_6"            "P24_7"            "P24_8"            "P24_9"           
## [21] "P24_10"           "P24_11"           "P25"              "P26_1"           
## [25] "P26_2"            "P26_3"            "P26_4"            "P26_5"           
## [29] "P26_6"            "P26_7"            "P26_8"            "P26_9"           
## [33] "P26_10"           "P26_11"           "P26_12"           "P26_13"          
## [37] "P27_1"            "P27_2"            "P27_3"            "P27_4"           
## [41] "P27_5"            "P27_6"            "P27_7"            "P28"             
## [45] "P29_1"            "P29_2"            "P29_3"            "P29_4"           
## [49] "P29_5"            "P29_6"            "P32"              "P33_1"           
## [53] "P33_2"            "P34"              "P34A"             "P34B"            
## [57] "P34C"             "P34D"             "P37"              "P38"             
## [61] "P38A"             "P39B1"            "P39B2"            "P40$1"           
## [65] "P40$2"            "P40$3"            "P40$4"            "P40$5"           
## [69] "P40$6"            "P40$7"            "P40$8"            "P41"             
## [73] "P42A$1"           "P42A$2"           "P42A$3"           "P42A$4"          
## [77] "P42A$5"           "P42A$6"           "P42A$7"           "P42A$8"          
## [81] "P42A$9"           "P43"              "P44"              "P45_1"           
## [85] "P45_2"            "P203_02"          "P204_02"          "P205_02"         
## [89] "P206_02"          "P207_02"          "P208_02"          "P209_02"         
## [93] "P301_02"          "TICUEST01B"       "TIPOCUESTIONARIO" "FACTOR07"        
## [97] "FACTOR_P"         "NCONGLOME"        "SUB_CONGLOME"

Tenemos 34245 observaciones y 99 columnas.

2. Manipulación y transformación de datos

En esta sección se va manipular las dos variables.

a. Descripción de la percepción de nivel de vida según escalón económico

  • La primera variable que voy a describir son las percepciones de la condición económica dentro de la sociedad. Para esto he utilizado la base de datos de la ENAHO 2021.

  • La variable que voy a analizar está en la columna “P39B1”, que se encuentra en mi base de datos llamada “nvida”. La pregunta en la que consiste es: “Si la condición económica de su hogar es medida en una escala del 1 al 10, donde en el primer escalón están las personas más pobres y en el último escalón las más ricas, ¿en qué escalón considera que se encuentra la condición económica de su hogar?”

Para realizar tablas con mejor formato, se usará el paquete gt

tablafescala=table(nvida$P39B1)
tablafescala=as.data.frame(tablafescala)
names(tablafescala)[names(tablafescala) == "Var1"] <- "Percepción de escalón socioeconómico"
names(tablafescala)[names(tablafescala) == "Freq"] <- "Frecuencia de respuesta"

gt(tablafescala)
Percepción de escalón socioeconómico Frecuencia de respuesta
0 162
1 6236
2 7962
3 6512
4 4793
5 4098
6 916
7 315
8 67
9 9
10 9
  • Una vez importada, y habiéndose evidenciado las frecuencias con “table”, podemos presenciar el resultado.
  • Descripción: A simple vista se puede identificar la moda, que es 2. Ello significaría que las personas se ubican entre las personas pobres. Asimismo, la mayoría de personas se encuentran en el rango del 1 al 5. Resalta también la escasa cantidad de personas que se observa muy rica o cercana a ser rica.
  • Interpretación: La distribución muestra que la gran mayoría de hogares se percibe en los primeros escalones socioeconómicos (1, 2 y 3), lo que evidencia una autoubicación mayoritaria en posiciones bajas dentro de la escala social. A medida que aumenta el escalón, la frecuencia disminuye de forma notable, siendo casi inexistentes las respuestas en los niveles más altos (8, 9 y 10). Esto sugiere una fuerte concentración de la población en estratos percibidos como bajos y una escasa identificación con posiciones de mayor riqueza, lo cual refleja la persistencia de desigualdades económicas y una limitada percepción de ascenso social.

Para ver más a fondo la variable, se puede detener en estudiar la mediana.

median(nvida$P39B1, na.rm=T)
## [1] 3
  • Entonces, vemos cómo al menos el 50% de la población se identifica en menos del tercio de la escalera económica.

Visualización de la variable

  • Finalmente, se procede a graficar. Para ello, primero se crea el data frame y se redondea las cifras del porcentaje.
gescalon = as.data.frame(100*prop.table(table(nvida$P39B1)))%>%
  mutate(Freq=round(Freq,2))
gescalon
##    Var1  Freq
## 1     0  0.52
## 2     1 20.06
## 3     2 25.62
## 4     3 20.95
## 5     4 15.42
## 6     5 13.19
## 7     6  2.95
## 8     7  1.01
## 9     8  0.22
## 10    9  0.03
## 11   10  0.03
  • Ahora, el código del gráfico.
gescalon %>% 
  ggplot(aes(x = Var1, y= Freq))+
  geom_bar(stat="identity", fill = "olivedrab1",) + 
  labs(title = "¿En qué escalón considera que se encuentra la condición económica de su hogar?", 
  x = "Escala",
  y = "Porcentaje (%)",
  caption = "Fuente: ENAHO")+ 
  geom_text(aes(label=Freq), vjust=0, color="black", size=3) + 
  theme_bw() #

El gráfico de barras con porcentajes muestra que más de dos tercios de los hogares se concentran entre los escalones 1, 2 y 3 (66,6%), lo que indica una fuerte autopercepción en los niveles socioeconómicos bajos. A partir del escalón 4, los porcentajes disminuyen progresivamente, y en los niveles altos (7, 8 y 9) la presencia es casi marginal, con menos del 2% en total. Esto refleja que la mayoría de la población percibe su posición económica como limitada y que son muy pocos los que se identifican con estratos de mayor riqueza.

b. Descripción de la percepción de nivel de vida según ingresos

  • La segunda variable que voy a analizar es cómo es que el hogar cree que con sus ingresos vive “muy bien”, “bien”, “mal” o “muy mal” (estas cuatro siendo las etiquetas de la encuesta).
  • La variable está en la columna “P37”, que se encuentra en la misma base de datos llamada “nvida”.
table(nvida$P37)
## 
##     1     2     3     4 
##   530  7608 22572   369
  • Para una lectura más clara, procedemos a recodificar según las etiquetas.
etiquetas37 = c("Muy mal", "Mal", "Bien", "Muy bien")
nvida = nvida%>% 
  mutate(P37 = factor(P37, # variable
                        levels = c(1:4),
                        labels = etiquetas37,
                        ordered = TRUE))
  • Observamos nuevamente la tabla:
tablafnvida=table(nvida$P37)
tablafnvida=as.data.frame(tablafnvida)
names(tablafnvida)[names(tablafnvida) == "Var1"] <- "Percepción de bienestar según ingreso"
names(tablafnvida)[names(tablafnvida) == "Freq"] <- "Frecuencia de respuesta"
gt(tablafnvida)
Percepción de bienestar según ingreso Frecuencia de respuesta
Muy mal 530
Mal 7608
Bien 22572
Muy bien 369
  • Los resultados evidencian que la mayoría de los hogares percibe que con sus ingresos vive “bien” (22,572), mientras que una proporción también importante considera que vive “mal” (7,608). En contraste, los extremos son reducidos: pocos hogares reportan vivir “muy bien” (369) o “muy mal” (530). Esto sugiere que, aunque existe una percepción mayoritaria de suficiencia en los ingresos, persiste un grupo significativo que siente limitaciones, y son excepcionales quienes consideran que alcanzan un bienestar pleno o, en el otro extremo, que viven en condiciones críticas.
tablapnvida=prop.table(table(nvida$P37))*100
tablapnvida=as.data.frame(tablapnvida)
names(tablapnvida)[names(tablapnvida) == "Var1"] <- "Percepción de bienestar según ingreso"
names(tablapnvida)[names(tablapnvida) == "Freq"] <- "Porcentaje de respuesta"
gt(tablapnvida)
Percepción de bienestar según ingreso Porcentaje de respuesta
Muy mal 1.705332
Mal 24.479552
Bien 72.627819
Muy bien 1.187297
  • Se evidencia, entonces, que las categorías de los extremos (“muy mal” y “muy bien) son poco utilizadas, mientras que las del medio (“bien” y “mal”) representan al más del 97% de peruanos.

Visualización de la variable

  • Se procede a crear un data frame, redondear las cifras, y graficar:
vivir=as.data.frame(prop.table(table(nvida$P37))*100)%>%
    mutate(Freq=round(Freq,2))
vivir %>% 
  ggplot(aes(x = Var1, y= Freq))+
  geom_bar(stat="identity", fill = "pink") +
  labs(title = "Con los ingresos de su hogar, ¿estima usted que viven? :", 
  x = "Escala de bienestar",
  y = "Porcentaje (%)",
  caption = "Fuente: ENAHO")+ 
  geom_text(aes(label=Freq), vjust=0.5, color="black", size=3) +  
  theme_classic() 

El gráfico muestra que casi tres cuartas partes de los hogares (72.6%) consideran que con sus ingresos viven “bien”, mientras que cerca de una cuarta parte (24.5%) perciben que viven “mal”. En los extremos, muy pocos se ubican en el “muy mal” (1.7%) o en el “muy bien” (1.2%). Esto refleja una autopercepción predominantemente positiva del bienestar económico, aunque con una franja considerable de hogares que aún sienten limitaciones en sus ingresos.

Conclusiones

En síntesis, la mayoría de los hogares se percibe en escalones socioeconómicos bajos, lo que refleja una fuerte autoubicación en posiciones desfavorables. Sin embargo, más del 70% considera que con sus ingresos vive “bien”, mostrando una percepción de bienestar relativamente positiva pese a las desigualdades. Esta brecha entre posición percibida y satisfacción con ingresos evidencia la necesidad de políticas que atiendan tanto las condiciones materiales como las percepciones subjetivas de bienestar.