Code
library(eph)
library(tidyverse)
library(gt)
library(patchwork)
Pedro Damián Orden
February 27, 2023
A la luz de un proyecto de investigción que vengo desarrollando con organizaciones sociales desde el año pasado, me encontré en la necesidad de procesar variables de la Encuesta Permanente de Hogares (EPH) relacionadas a condiciones de vida y su relación con el proceso de empobrecimiento progresivo que vive nuestro país desde hace casi una década y se ha profundizado con la reciente pandemia. Dicho esto, se me ocurrió que podría ser útil para otros/as compartir parte de lo que vengo haciendo, ya que no lo encontré en otros lugares y puede sumar para quien pueda interesarle el tema.
Habida cuenta de la relevancia profesional que tiene el hecho contar con herramientas propias para la medición y análisis de la realidad social, la propuesta de este documento, junto a otros que vendrán, es la de abrir progresivamente códigos que permitan simplificar el procesamiento de los datos del módulo de condiciones de vida de la EPH de manera sistemática y eficiente.
En esta oportunidad, procuraré articular 3 variables relativas la dimensión de condiciones de vida con el cálculo semestral de pobreza por ingreso, para explorar, como veremos, posibles escenas de privilegio y desprivilegio social1.
Como ya es bien sabido, la Encuesta Permanente de Hogares (EPH) es un programa nacional de producción sistemática y permanente de indicadores sociales, que tiene por objeto caracterizar a la población en términos de su inserción socioeconómica, dando a conocer:
a) las características demográficas básicas,
b) la inserción de la población en la producción social de bienes y servicios y
c) la participación de los hogares y la población en la distribución del producto social.
Para responder a este último eje, la encuesta incluye la medición de las características habitacionales, educacionales y de ingresos, entre otras temáticas que se inscriben en el circuito de satisfacción de necesidades y dan cuenta de las condiciones en que viven las personas en nuestro país.
Dicha dimensión se pública de manera semestral en un cuadernillo especial denominado: Indicadores de condiciones de vida de los hogares en 31 aglomerados urbanos. Los datos referidos al calculo de la pobreza por ingreso figuran semestralmente en el informe de Incidencia de la pobreza y la indigencia en 31 aglomerados urbanos del Instituto.
Ahora pasemos a R para revisar ésto con código.
Antes de comenzar con nuestro procesamiento descarguemos las librerías que utilizaremos durante este trabajo.
El paquete eph nos va a permitir trabajar de manera eficaz con los datos de la EPH, mientras que tidyverse habilitará su manipulación y visualización. Utilizaremos gt para generar tablas y patchwork quedará para el final.
Para desandar el objetivo de este instructivo digital, vamos a descargar los datos datos de la EPH correspondientes al primer semestre de 2022 de individuos y hogares. Utilizamos las dos bases ya que precisamos variables de ambas, es decir que a los microdatos de individuos vamos a adosarle variables relativas a los hogares.
Checkeamos la cantidad de personas que componen la muestra por trimestre.
TRIMESTRE | n |
---|---|
1 | 29073215 |
2 | 29137212 |
Al no hacer recortes por regiones o aglomerados en todos los casos nos estaremos refiriendo a datos para el total nacional.
Repetimos la operación, pero ahora por hogar, para individualizarlos elegimos sólo las jefaturas.
TRIMESTRE | n |
---|---|
1 | 9590915 |
2 | 9812063 |
De aquí en más será importante tener presente que existen diferencias cualitativas y cuantitativas entre hogares e individuos, se trata de dos tipos de unidades de análisis diferentes con sus características. Durante el documento haremos referencia generalmente a datos extrapolables a individuos, a su vez caracterizados por las particularidades de sus hogares2.
Las situaciones pobreza, además de movilizantes y dolorosas, son también complejas y multidimensionales para quien quiera estudiarlas. En este apartado nos aproximamos a un método de medición de la pobreza por ingreso3, para luego combinarla con otras variables relativas a condiciones tal como lo hace INDEC en su cuadro: Condiciones de vida, caracterización según pobreza por ingresos4. Aquí un fragmento que operará como nuestra referencia a lo largo del código:
Según INDEC (2022): La medición de la pobreza con el método de Línea de Pobreza (LP) consiste en establecer, a partir de los ingresos de los hogares, si éstos tienen capacidad de satisfacer por medio de la compra de bienes y servicios un conjunto de necesidades alimentarias y no alimentarias consideradas esenciales.
El procedimiento parte de utilizar una Canasta Básica de Alimentos (CBA) y ampliarla con la inclusión de bienes y servicios no alimentarios (vestimenta, transporte, educación, salud, etcétera) con el fin de obtener la Canasta Básica Total (CBT).
Para determinar la incidencia de la pobreza, se analiza la proporción de hogares cuyo ingreso no supera el valor de la CBT; para la indigencia, se calcula la proporción de los que no superan la CBA.
En R podemos recrear el cálculo de la pobreza por ingreso de manera ágil gracias a antes mencionado paquete eph. Lo que haremos será descargar las canastas regionales y procesar los datos.
Lo que hemos hecho fue generar una nueva columna, situación, que da cuenta de las condiciones de indigencia, pobreza y no pobreza de cada miembro de la muestra, calculando en qué medida los hogares cubren o no sus necesidades.
El cálculo de pobreza que realiza el INDEC supone una periodicidad semestral, con lo cual si quisiéramos construir la medición para el primer semestre de 2022 deberíamos trabajar en conjunto los datos del primer y segundo trismestre de la EPH y promediar sus valores. Lo vemos a continuación:
eph_situacion<-eph%>%
group_by(situacion)%>%
tally(PONDIH/2)%>% #clave, acá promedia los trimestres
filter(!is.na(situacion))%>%
mutate(total_personas=sum(n))%>%
mutate(porcentual=round(n/total_personas*100,2))%>%
rename(personas=n)
eph_situacion%>%
select(!total_personas)%>%
gt()%>%
tab_header( #mejoramos las tablas dándoles fotmato: título y color.
title = md("**Pobreza por ingresos**"),
subtitle = md("Total Argentina. 1er Semestre 2022")
)%>%
tab_options(table.background.color = "#e8e2f5")
Pobreza por ingresos | ||
Total Argentina. 1er Semestre 2022 | ||
situacion | personas | porcentual |
---|---|---|
indigente | 2476604 | 8.51 |
no_pobre | 18544014 | 63.71 |
pobre | 8084490 | 27.78 |
Hecho! Armemos una barra apilada para darle una upgrade visual la información:
plot_pobreza <- eph_situacion %>%
mutate(semestre = "1er sem.")%>%
mutate(situacion = fct_reorder(situacion, desc(porcentual))) %>%
ggplot(aes(x=semestre, y = porcentual, fill = situacion)) +
geom_col() +
scale_fill_manual(values = c("#EBFBF5", "#FFEBC2","#FFCBBE")) +
ggtitle("Condición de pobreza.
Argentina 1er sem 2022.")+
labs(x=" ", y=" ")+
geom_text(aes(label = paste0(porcentual, "%")),
size=2.75,
position = position_stack(vjust = 0.5)) +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_blank(), axis.line = element_blank())+
coord_flip()+
theme(plot.title = element_text(hjust = 0.5),
legend.position="bottom",
axis.text.x=element_blank(),
axis.ticks.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks.y=element_blank(),
legend.key.size = unit(0.4, 'cm'))
plot_pobreza
Comparemos con los datos de pobreza que tenemos más arriba en el cuadro de INDEC, estuvimos muy cerca no? Sin ser parte del organismo es prácticamente imposible llegar al mismo resultado que ellos, ya que no sabemos todos los factores que influyen en el cálculo, pero replicando con programación la teoría los códigos que desarrollamos se aproximan a centésimas de la medición oficial.
Las de condiciones de vida son todas aquellas variables que la EPH mide directa o indirectamente, y hacen referencia a los recursos por medio de los cuales personas y/o hogares reproducen biológica, simbólica y materialmente su existencia.
Habida cuenta del ejercicio iniciático de este documento, llevaremos adelante el cálculo y visualización de 3 variables relacionadas con las condiciones de vida en Argentina, creando resúmenes generales y gráficos por condición de pobreza (tener presente el gráfico de INDEC que compartimos al inicio).
Calculemos dos variables del apartado de hogares de la EPH, que dan cuenta del habitat de las personas: proximidad de su hogar a basurales y la habitabilidad en zonas inundables.
La pregunta original del formulario para calcular nuestra variables es: la vivienda está ubicada cerca de basural/es (3 cuadras O menos)? Reprocesemos la variable con nuestro código.
eph <- eph %>%
mutate(cerca_basural = ifelse(IV12_1 == 1, "si",
ifelse(IV12_1 == 2, "no", NA)))
#imprimimos datos generales
eph%>%
group_by(cerca_basural)%>%
tally(PONDERA/2)%>% # uso pondera
filter(!is.na(cerca_basural))%>%
mutate(personastot=sum(n))%>%
mutate(porcentual=round(n/personastot*100,1))%>%
rename(personas=n)%>%
select(!personastot)%>%
gt()%>%
tab_header( #mejoramos las tablas dándoles un título y color.
title = md("**Habitan cerca de basurales**"),
subtitle = md("Total individuos, Argentina. 1er Semestre 2022"))%>%
tab_options(table.background.color = "#e8e2f5")
Habitan cerca de basurales | ||
Total individuos, Argentina. 1er Semestre 2022 | ||
cerca_basural | personas | porcentual |
---|---|---|
no | 27225323 | 93.5 |
si | 1879891 | 6.5 |
Los datos generales coinciden de cabo a rabo con la referencia del principio.
Abramos la data por condición de pobreza:
Los resultados mantienen la concordancia con INDEC y nos los llevamos a un gráfico de donut 5:
hsize <- 3
eph_basurales<- eph_basurales%>%
mutate(x = hsize)
plot_basurales<-ggplot(eph_basurales,
aes(x = hsize, y = porcentual, fill = cerca_basural)) +
geom_col(color = "#edd8e9") +
coord_polar(theta = "y") +
xlim(c(0.2, hsize + 0.5)) +
scale_fill_manual(values = c("#B6A7CA", "#F0DAB7")) + # Cambiar los colores de fill
facet_wrap(~factor(situacion, levels=c("indigente", "pobre", "no_pobre")), ncol = 3) + # Cambiar la posición de la tira de faceta
labs(title = "Habitan cerca de basurales") +
geom_text(aes(label = paste0(porcentual, "%")),
position = position_stack(vjust = 0.5),
size=3) +
theme_void()+
theme(legend.position="bottom",
plot.title = element_text(hjust = 0.5),
legend.key.size = unit(0.4, 'cm'))
plot_basurales
En este caso se pregunta si la vivienda está ubicada en zona inundable (en los últimos 12 meses).
Repetimos el ejercicio anterior para una nueva variable:
eph <- eph%>%
mutate(zona_inundable= ifelse(IV12_2 == 1, "si",
ifelse(IV12_2 == 2, "no", NA)))
eph%>%
group_by(zona_inundable)%>%
tally(PONDERA/2)%>%
filter(!is.na(zona_inundable))%>%
mutate(personastot=sum(n))%>%
mutate(porcentual=round(n/personastot*100,1))%>%
rename(personas=n)%>%
select(!personastot)%>%
gt()%>%
tab_header( #mejoramos las tablas dándoles un título y color.
title = md("**Habitan en Zonas inundables**"),
subtitle = md("Total individuos, Argentina. 1er Semestre 2022")
)%>%
tab_options(table.background.color = "#e8e2f5")
Habitan en Zonas inundables | ||
Total individuos, Argentina. 1er Semestre 2022 | ||
zona_inundable | personas | porcentual |
---|---|---|
no | 26752301 | 91.9 |
si | 2352913 | 8.1 |
Hay match de los resultados obtenidos con los de nuestro ejemplo.
Creamos un nuevo gráfico donut para la variable y la apertura por condición de pobreza.
hsize <- 3
eph_inundables<- eph_inundables%>%
mutate(x = hsize)
plot_inundable <- ggplot(eph_inundables,
aes(x = hsize, y = porcentual, fill = zona_inundable)) +
geom_col(color = "#edd8e9") +
coord_polar(theta = "y") +
xlim(c(0.2, hsize + 0.5)) +
scale_fill_manual(values = c("#B6A7CA", "#F0DAB7")) + # Cambiar los colores de fill
facet_wrap(~factor(situacion, levels=c("indigente", "pobre", "no_pobre")), ncol = 3) + # Cambiar la posición de la tira de faceta
labs(title = "Habitat y zonas inundables") +
geom_text(aes(label = paste0(porcentual, "%")),
position = position_stack(vjust = 0.5),
size=3) +
theme_void()+
theme(legend.position="bottom",
plot.title = element_text(hjust = 0.5),
legend.key.size = unit(0.4, 'cm'))
plot_inundable
A diferencia de las anteriores, aquí vamos a crear una nueva variable, resultante de la condición positiva de 3 variables relacionadas con el acceso a servicios públicos (son agua, luz y gas).
En el código que viene vamos a indicarle a R que cree la variable eph_servicios, y, si el hogar acceder a los 3 servicios públicos, lo etiquete como “accede”, caso contrario que lo etiquete como “no accede”.
eph <- eph %>%
mutate(acceso_servicios = ifelse(II8 == 1 & #accede a agua, luz y gas
IV7 == 1
& IV11 == 1,
"accede",
"no accede"))
eph%>%
group_by(acceso_servicios)%>%
tally(PONDERA/2)%>% #uso pondera
filter(!is.na(acceso_servicios))%>%
mutate(personastot=sum(n))%>%
mutate(porcentual=round(n/personastot*100,1))%>%
rename(personas=n)%>%
select(!personastot)%>%
gt()%>%
tab_header(
title = md("**Acceso a los 3 servicios**"),
subtitle = md("Total individuos Argentina. 1er Semestre 2022")
)%>%
tab_options(table.background.color = "#e8e2f5")
Acceso a los 3 servicios | ||
Total individuos Argentina. 1er Semestre 2022 | ||
acceso_servicios | personas | porcentual |
---|---|---|
accede | 14492743 | 49.8 |
no accede | 14612471 | 50.2 |
Mantenemos la coincidencia con la referencia del INDEC.
Vamos a visualizar la apertura de nuestra variable en un gráfico de barras apiladas.
plot_servicios <- eph_servicios%>%
ggplot(aes(fill = acceso_servicios,
y = porcentual,
x = factor(situacion, levels = c("indigente", "pobre", "no_pobre"))))+
geom_col()+
ggtitle("Acceso a los 3 servicios públicos
Según condición de pobreza")+ #
labs(subtitle = "Total Argentina. 1er Semestre 2022")+
coord_flip()+
labs(y="", x="", fill="servicios públicos")+
geom_text(aes(label=paste0(porcentual, "%")),
vjust = -0.5, color = 'black', hjust = 1.5,
size = 3, position = "stack")+
scale_fill_manual(values = c("#F0DAB7","#B6A7CA")) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_blank(),
axis.ticks.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.y=element_blank(),
plot.title = element_text(hjust = 0.5),
plot.subtitle = element_text(hjust = 0.5),
legend.position="bottom",
legend.key.size = unit(0.4, 'cm'))
plot_servicios
Las estimaciones que generamos nuevamente se acercaron a menos de un 1% de diferencia con el ejemplo.
Patchwork es una librería que permite unir gráficos de ggplot, como si se tratara de carpetas en un tejido. Habida cuenta de esta interesante herramienta la idea ahora es crear un resumen visual de lo que estuvimos trabajando.
Hecho!
La información que pudimos generar, nos permite “sacar una foto” de un período puntual de la sociedad Argentina, en este caso el primer semestre de 2022.
Lo que está marcando está imagen es que más de un tercio de compatriotas, hombres, mujeres y niños, viven en situación de pobreza, y que, en términos de tendencia, esta circunstancia se ve acompañada por mayores privaciones en materia de hábitat y acceso pleno a servicios públicos con respecto a aquellos que no son pobres. Esto es un problema importante que requiere acciones sostenidas por parte del gobierno y la sociedad en su conjunto para abordar las causas subyacentes de la pobreza y garantizar que todos los ciudadanos tengan acceso a los servicios y recursos necesarios para llevar adelante una vida digna.
Hasta a aquí hemos hecho una exploración preliminar de variables seleccionadas de la EPH para dar cuenta de una situación social que vive Argentina. Lo hemos hecho con herremientas propias y pudimos detectar por medio de la evidencia situaciones de privilegio y desprivilegio social que de mantenerse en el tiempo pueden ser perjudiciales para la vida colectiva del país.
A nivel técnico avanzamos en la apertura de código y presentamos una serie de estrategias y abordajes con los datos obtenidos que se mantuvieron en consonancia con las mediciones oficiales. Visualmente utilizamos tablas y gráficos que fuimos complejizando para potenciar la narrativa del documento
La propuesta para lo que viene es continuar con la apertura de código para el procesamiento de otras variables y automatizar el monitoreo integral de la EPH, para que mas personas puedan acceder de manera ágil, sistemática y replicable, a insumos que les permitan construir más y mejor conocimiento sobre la coyuntura e historia reciente de nuestra sociedad.
Este apartado extra es para presentar una implementación concreta de los códigos, como los que estuvimos trabajando, en un app shiny (experimental pero usable) que permite explorar interactivamente las condiciones de vida de los hogares, caracterizados según pobreza por ingresos.
Querés utilizar esta app en pantalla completa? Podés hacerlo acá.
Hasta otra oportunidad.
Hago referencia a situaciones en las que una posición en la estructura social implica una desventaja para los individuos al tratar de llevar a cabo su vida cotidiana y lograr una calidad de vida óptima. En otras palabras, estas personas enfrentan barreras y obstáculos “invisibles” que les impiden participar plenamente en la sociedad y aprovechar al máximo las oportunidades disponibles.↩︎
El hogar se define como persona o grupo de personas que viven bajo un mismo techo y comparten los gastos de alimentación (INDEC 2010).↩︎
Para conocer más sobre el calculo se puede consultar el siguiente material de trabajo https://www.indec.gob.ar › web › Nivel4-Tema-4-46-152↩︎
Indicadores de condiciones de vida de los hogares en 31 aglomerados urbanos (1er semestre 2022), pagina 4.↩︎
También conocido como gráfico de dona o rosquilla, es un tipo de visualización de datos circular que se utiliza para representar la proporción de diferentes categorías dentro de un conjunto de datos.
Este gráfico se asemeja a una rosquilla, con un agujero en el centro y se divide en secciones radiales que representan las diferentes categorías. La proporción de cada categoría se muestra como un porcentaje del total del conjunto de datos.
Al igual que un gráfico de pastel, un gráfico donut es útil para comparar las proporciones relativas de las categorías. Sin embargo, la ventaja del gráfico donut es que permite representar más categorías de manera clara y eficiente, ya que las secciones se pueden apilar en capas concéntricas alrededor del agujero central.↩︎
@online{damián orden2023,
author = {Damián Orden, Pedro},
title = {Cálculo Semestral de Pobreza y Variables Condiciones de Vida
Versión {EPH} {(Capítulo} 1)},
date = {2023-02-27},
url = {https://tecysoc.netlify.app/posts/pobreza_semestral},
langid = {en}
}