ESTADO DE EVOLUCIÓN DE LOS SALARIOS EN ARGENTINA ENTRE LOS AÑOS 2019 Y 2025
Este informe, desarrollado como practica final del taller “ESCUELA DE VERANO DE R: Taller de introducción al procesamiento y análisis de datos sobre mercado laboral”, tiene como propósito mostrar si hay o no variabilidad del ingreso (P21) nominal y real a través del tiempo. Para ello, hemos decidido partir del primer trimestre (Q1) de 2019 hasta el tercer trimestre (Q3) de 2025, teniendo en cuenta la variable sexo, para ver la variación del ingreso, en el caso de que exista, entre varones y mujeres. Además, trabajaremos con la variable ESTADO (Estado ocupacional de la población) para describir la composición de la estructura ocupacional de la Argentina en el tercer trimestre de 2025. Por último, nos centramos en hacer una lectura sobre la composición de los ocupados, tomando aquellos tipos de categoría ocupacional que, si perciben una remuneración o ingreso, es decir, patrón, cuenta propista y empleado / obrero. En este último objetivo solo tendremos en cuenta las variables nombradas por abarcar a la mayoría de los trabajadores, y variable “trabajador sin remuneración” no la tendremos en cuenta ya que no contiene valores para poder cuantificarla. Al mismo tiempo presentamos un último grafico en el que se contempla en el periodo estudiando la evolución o la pérdida del poder adquisitivo del salario real de los ocupados.
CONSIDERACIONES METODOLÓGICAS
Los datos utilizados en este análisis provienen de la Encuesta Permanente de Hogares (EPH) del Instituto Nacional de Estadística y Censos (INDEC), correspondientes al período 2019-2025, con una frecuencia trimestral que abarca los trimestres 1 a 4 de cada año. Se trabajó específicamente con la base de individuos (tipo “individual”), que contiene información sociodemográfica y laboral detallada de los residentes en aglomerados urbanos de Argentina. La EPH es una encuesta muestral que entrevista aproximadamente a 30,000 viviendas y luego utiliza ponderadores(PONDERAR, PONDIIO) para expandir los resultados al total de la población argentina.
2.1 Descarga y selección de variables
Los datos fueron descargados mediante la función get_microdata() del paquete eph de R. Las variables seleccionadas para el análisis fueron cuidadosamente elegidas para abordar los objetivos de investigación: ANO4 (año de relevamiento), TRIMESTRE (trimestre del relevamiento), CAT_OCUP (categoría ocupacional), CAT_INAC (categoría de inactividad), P21 (ingreso de la ocupación principal), PONDIIO (ponderador específico para ingresos de la ocupación principal, corregido por no respuesta), CH04 (sexo), NIVEL_ED (nivel educativo), CH06 (edad), ESTADO (condición de actividad), AGLOMERADO (código de aglomerado), y PONDERA (ponderador general).
2.2 Recodificación de variables
Mediante la función mutate() combinada con case_when(), se recodificaron las variables originales para facilitar su interpretación en los análisis y gráficos posteriores. La variable CH04 (sexo) se transformó en Sexo con las categorías “Varones” para el valor 1 y “Mujeres” para el valor 2. La variable CH06 (edad) se recodificó en tres grupos etarios: “Hasta 29 años”, “De 30 a 64 años”, y “65 años y más”. La variable ESTADO (condición de actividad) se transformó en Estado con las categorías “No realizada”, “Ocupado”, “Desocupado”, “Inactivo”, y “Menor de 10 años”. La variable CAT_OCUP se convirtió en CATEGORIA_OCUPACIONAL con las categorías “Patron”, “Cuenta propia”, “Obrero o empleado”, “Trabajador familiar sin remuneracion”, y “Ns./Nr.” También se recodificaron la categoría de inactividad (CATEGORIA_DE_INACTIVIDAD) y el nivel educativo (NIVEL_EDUCATIVO). Adicionalmente, se creó la variable periodo concatenando año y trimestre con el formato “AAAA-QT” (por ejemplo, “2023-Q1”) para facilitar la identificación de cada período en gráficos y tablas.
2.3 Limpieza de datos
Se aplicaron filtros para garantizar la calidad y validez del análisis. En primer lugar, se excluyeron las categorías ocupacionales que no registran ingreso o que podían distorsionar el análisis, específicamente “Trabajador familiar sin remuneración” y “Ns./Nr.”, manteniendo únicamente las categorías “Patron”, “Cuenta propia” y “Obrero o empleado”. Posteriormente, se eliminaron los casos con ingresos faltantes (valores NA) o iguales a cero, ya que estos podían distorsionar los promedios. Finalmente, se excluyeron los registros sin sexo identificado para evitar errores en los análisis desagregados por sexo.
2.4 Cálculo de ingresos promedio trimestrales
Para obtener los ingresos promedio por trimestre, se agruparon los datos utilizando la función group_by() considerando las siguientes cinco variables: año (ANO4), trimestre (TRIMESTRE), período (periodo), categoría ocupacional (CATEGORIA_OCUPACIONAL) y sexo (Sexo). Dentro de cada grupo, se calculó el ingreso promedio ponderado mediante la función weighted.mean(P21, PONDIIO, na.rm = TRUE). El uso del ponderador PONDIIO es fundamental porque cada persona en la muestra representa a un número determinado de personas en la población total; sin este ponderador, los promedios serían representativos solo de la muestra y no de la población argentina en su conjunto. Cabe destacar que se utilizó PONDIIO en lugar de PONDERA porque el primero incluye una corrección especial para el sesgo de no respuesta en ingresos, ya que muchas personas no responden cuánto ganan y este ponderador ajusta para que esos casos no distorsionen el promedio. Por ejemplo, dentro del grupo “Patron - Varones - 2023-Q1”, la función suma todos los ingresos multiplicados por sus ponderadores, divide por la suma de ponderadores, y obtiene el ingreso promedio de todos los patrones varones de Argentina en ese trimestre. Finalmente, los datos se ordenaron cronológicamente utilizando arrange(ANO4, TRIMESTRE).
3.1 Construcción de la serie de IPC
Para poder ajustar los ingresos por inflación, se construyó una tabla con los valores mensuales del Índice de Precios al Consumidor (IPC) Nacional con base en diciembre de 2016 igual a 100, utilizando datos oficiales del INDEC extraídos del archivo “sh_ipc_03_26.xls”. La serie abarca desde diciembre de 2016 hasta febrero de 2026, incluyendo todos los meses del período de análisis (2019-2025). Esta serie es la fuente de verdad sobre la evolución de los precios en Argentina y permite responder a la pregunta fundamental: “¿El ingreso de los Patrones realmente aumentó, o solo es producto de la inflación?”
3.2 Cálculo de promedios trimestrales del IPC
Dado que los datos de la EPH están organizados trimestralmente, fue necesario convertir la serie mensual del IPC a frecuencia trimestral. Para ello, se extrajo el año (ANO4) y el trimestre (quarter()) de cada fecha, se agruparon los datos por año y trimestre, y se calculó el promedio de los tres meses que componen cada trimestre. Este procedimiento permite tener una serie de IPC perfectamente alineada con los datos de ingresos de la EPH.
3.3 Deflactación de ingresos (ajuste por inflación)
Para deflactar los ingresos, se definió el primer trimestre de 2017 como año base (anio_base <- 2017, trimestre_base <- 1). Se calculó el IPC del período base (ipc_base) filtrando el valor correspondiente en la tabla ipc_trimestral. Luego, mediante un left_join(), se agregó la columna ipc a la tabla promedio_trimestre, uniendo por año y trimestre. Finalmente, se aplicó la fórmula de deflactación:
ingreso_real = ingreso_nominal × (ipc_base / ipc)
Esta fórmula convierte cada ingreso nominal (en pesos de su época) a su equivalente en pesos constantes del período base. El factor (ipc_base / ipc) es el factor de ajuste por inflación: si es mayor que 1, significa que el ingreso nominal debe multiplicarse para expresarlo en pesos del período base; si es menor que 1, significa que el ingreso nominal debe dividirse. Con este procedimiento, todos los ingresos quedan expresados en una misma unidad monetaria (pesos de 2017-Q1), lo que permite comparar el poder adquisitivo a lo largo de todo el período 2019-2025 sin la distorsión de la inflación.
Paralelamente a la deflactación de ingresos, se calculó la inflación acumulada desde el período base para entender el contexto macroeconómico. Se obtuvo el IPC base del primer trimestre de 2017 (ipc_base_2017q1) y se aplicó la siguiente fórmula para cada trimestre:
inflacion_acumulada = (IPC_actual / IPC_base_2017q1) × 100 - 100
Este indicador muestra el porcentaje de aumento de precios acumulado desde el primer trimestre de 2017 hasta cada trimestre posterior. Por ejemplo, si la inflación acumulada en 2025-Q3 es del 4,560%, significa que los precios aumentaron más de 45 veces desde 2017-Q1.
## Warning in geom_line(aes(y = ingreso_nominal, color = Sexo, linetype =
## "Nominal", : Ignoring unknown aesthetics: text
## Warning in geom_point(aes(y = ingreso_nominal, color = Sexo, text =
## paste("Periodo: ", : Ignoring unknown aesthetics: text
## Warning: Specifying width/height in layout() is now deprecated.
## Please specify in ggplotly() or plot_ly()
| PERÍODO | MUJERES | VARONES |
|---|---|---|
| 2019-Q1 | 17,207 | 24,079 |
| 2019-Q2 | 14,176 | 21,908 |
| 2019-Q3 | 14,060 | 20,562 |
| 2019-Q4 | 12,682 | 19,338 |
| 2020-Q1 | 12,454 | 17,190 |
| 2020-Q2 | 12,742 | 18,923 |
| 2020-Q3 | 11,449 | 16,980 |
| 2020-Q4 | 14,920 | 14,016 |
| 2021-Q1 | 10,635 | 18,531 |
| 2021-Q2 | 10,923 | 20,907 |
| 2021-Q3 | 15,710 | 18,268 |
| 2021-Q4 | 13,839 | 33,589 |
| 2022-Q1 | 12,459 | 17,151 |
| 2022-Q2 | 12,224 | 15,236 |
| 2022-Q3 | 11,977 | 16,423 |
| 2022-Q4 | 12,118 | 14,333 |
| 2023-Q1 | 13,350 | 15,198 |
| 2023-Q2 | 10,628 | 16,769 |
| 2023-Q3 | 10,681 | 16,836 |
| 2023-Q4 | 10,205 | 16,920 |
| 2024-Q1 | 8,559 | 15,439 |
| 2024-Q2 | 10,482 | 17,001 |
| 2024-Q3 | 17,770 | 17,281 |
| 2024-Q4 | 17,562 | 18,276 |
| 2025-Q1 | 13,628 | 24,078 |
| 2025-Q2 | 28,686 | 27,178 |
| 2025-Q3 | 18,659 | 25,692 |
| SEXO | PENDIENTE | CREC/TRIM | CREC/ANUAL | R² | ING. INICIAL | ING. FINAL | CAMBIO % |
|---|---|---|---|---|---|---|---|
| Mujeres | 125.98 | 125.98 | 503.92 | 0.06 | 17206.80 | 18658.6 | 8.44 |
| Varones | 18.84 | 18.84 | 75.36 | 0.00 | 24078.71 | 25691.9 | 6.70 |
## [1] "Filas: 54"
## [1] "Mujeres" "Varones"
## Warning in geom_line(aes(y = ingreso_nominal, color = Sexo, linetype =
## "Nominal", : Ignoring unknown aesthetics: text
## Warning in geom_point(aes(y = ingreso_nominal, color = Sexo, text =
## paste("Periodo: ", : Ignoring unknown aesthetics: text
## Warning: Specifying width/height in layout() is now deprecated.
## Please specify in ggplotly() or plot_ly()
| PERÍODO | MUJERES | VARONES |
|---|---|---|
| 2019-Q1 | 9,127 | 12,245 |
| 2019-Q2 | 9,180 | 12,029 |
| 2019-Q3 | 9,309 | 12,114 |
| 2019-Q4 | 8,912 | 11,670 |
| 2020-Q1 | 9,078 | 11,727 |
| 2020-Q2 | 9,772 | 12,598 |
| 2020-Q3 | 9,167 | 11,654 |
| 2020-Q4 | 8,844 | 11,150 |
| 2021-Q1 | 8,959 | 11,711 |
| 2021-Q2 | 8,690 | 11,905 |
| 2021-Q3 | 8,642 | 11,690 |
| 2021-Q4 | 8,876 | 11,439 |
| 2022-Q1 | 8,764 | 12,021 |
| 2022-Q2 | 8,014 | 11,140 |
| 2022-Q3 | 8,235 | 10,577 |
| 2022-Q4 | 8,379 | 10,709 |
| 2023-Q1 | 8,312 | 10,965 |
| 2023-Q2 | 8,116 | 10,919 |
| 2023-Q3 | 8,486 | 10,753 |
| 2023-Q4 | 7,937 | 10,364 |
| 2024-Q1 | 6,600 | 8,783 |
| 2024-Q2 | 7,156 | 9,742 |
| 2024-Q3 | 8,091 | 11,037 |
| 2024-Q4 | 8,651 | 11,746 |
| 2025-Q1 | 8,771 | 12,068 |
| 2025-Q2 | 9,308 | 12,416 |
| 2025-Q3 | 9,161 | 12,239 |
| SEXO | PENDIENTE | CREC/TRIM | CREC/ANUAL | R² | ING. INICIAL | ING. FINAL | CAMBIO % |
|---|---|---|---|---|---|---|---|
| Varones | -38.37 | -38.37 | -153.49 | 0.12 | 12244.66 | 12239.27 | -0.04 |
| Mujeres | -40.88 | -40.88 | -163.51 | 0.23 | 9127.48 | 9160.68 | 0.36 |
## Warning in geom_line(aes(y = ingreso_nominal, color = Sexo, linetype =
## "Nominal", : Ignoring unknown aesthetics: text
## Warning in geom_point(aes(y = ingreso_nominal, color = Sexo, text =
## paste("Periodo: ", : Ignoring unknown aesthetics: text
## Warning: Specifying width/height in layout() is now deprecated.
## Please specify in ggplotly() or plot_ly()
tabla_cuenta_propia_anual <- cuenta_propia %>%
mutate(
ingreso_formateado = scales::comma(round(ingreso_real, 0)),
ANO = as.numeric(substr(periodo, 1, 4))
) %>%
select(ANO, periodo, Sexo, ingreso_formateado) %>%
pivot_wider(names_from = Sexo, values_from = ingreso_formateado) %>%
arrange(ANO, periodo) %>%
select(-ANO)
# Encontrar los índices donde cambia de año para agregar separadores
cambios_año_cuenta_propia <- cuenta_propia %>%
mutate(ANO = as.numeric(substr(periodo, 1, 4))) %>%
distinct(ANO, periodo) %>%
arrange(ANO, periodo) %>%
group_by(ANO) %>%
summarise(fila_fin = n(), .groups = "drop") %>%
mutate(fila_acumulada = cumsum(fila_fin))
# Crear la tabla kable para cuenta propia
kable(tabla_cuenta_propia_anual,
caption = paste("INGRESO REAL DE CUENTA PROPIA POR SEXO (", anio_base, "-Q", trimestre_base, ")", sep = ""),
format = "html",
align = "c",
col.names = c("PERÍODO", "MUJERES", "VARONES")) %>%
kable_styling(
bootstrap_options = c("striped", "hover", "condensed", "responsive"),
full_width = FALSE,
position = "center",
font_size = 12
) %>%
row_spec(0, bold = TRUE, background = "#2E86C1", color = "white") %>%
# Agregar líneas separadoras entre años (ajustar números según cantidad de filas)
row_spec(c(4, 8, 12, 16, 20, 24), extra_css = "border-bottom: 2px solid #2E86C1;") %>%
row_spec(seq(1, nrow(tabla_cuenta_propia_anual), 2), background = "#F0F8FF") %>%
row_spec(seq(2, nrow(tabla_cuenta_propia_anual), 2), background = "#FFFFFF") %>%
column_spec(1, bold = TRUE, background = "#E6F3FF") %>%
column_spec(2, background = "#FFF0F5") %>%
column_spec(3, background = "#E6E6FF")
| PERÍODO | MUJERES | VARONES |
|---|---|---|
| 2019-Q1 | 6,951 | 9,212 |
| 2019-Q2 | 5,957 | 8,681 |
| 2019-Q3 | 6,767 | 9,524 |
| 2019-Q4 | 5,832 | 8,872 |
| 2020-Q1 | 5,670 | 8,144 |
| 2020-Q2 | 5,004 | 6,494 |
| 2020-Q3 | 4,909 | 6,593 |
| 2020-Q4 | 5,034 | 7,508 |
| 2021-Q1 | 5,446 | 7,820 |
| 2021-Q2 | 5,246 | 7,953 |
| 2021-Q3 | 6,089 | 7,827 |
| 2021-Q4 | 5,971 | 8,152 |
| 2022-Q1 | 5,977 | 8,949 |
| 2022-Q2 | 5,368 | 7,296 |
| 2022-Q3 | 5,355 | 7,333 |
| 2022-Q4 | 5,651 | 7,909 |
| 2023-Q1 | 5,373 | 7,726 |
| 2023-Q2 | 5,266 | 7,610 |
| 2023-Q3 | 5,439 | 7,785 |
| 2023-Q4 | 4,879 | 7,265 |
| 2024-Q1 | 4,798 | 6,698 |
| 2024-Q2 | 4,649 | 6,413 |
| 2024-Q3 | 5,022 | 7,889 |
| 2024-Q4 | 5,587 | 8,014 |
| 2025-Q1 | 7,530 | 9,056 |
| 2025-Q2 | 6,453 | 9,614 |
| 2025-Q3 | 6,313 | 10,012 |