Taller aplicado a la Encuesta Permanente de Hogares (EPH) - INDEC
Universidad Nacional de La Matanza
2024-10-22
Andrea
Betsy
Es un hub de investigación y desarrollo interdisciplinario que lleva adelante acciones que promueven el diálogo de saberes entre las ciencias sociales y la tecnología, articulando con organizaciones públicas, privadas y de la sociedad civil.
Este grupo surge con la misión de conectar a quienes usan el lenguaje de programación R en Buenos Aires, independientemente de su grado de conocimiento y el ámbito de aplicación del mismo. El objetivo es promover el uso R, el aprendizaje continuo y favorecer la creación de proyectos interdisciplinarios.
Un proceso iterativo de comprensión.
Guiado por objetivos estreatégicos/ preguntas de investigación.
Transformación / opereacionalización de variables acorde.
El entorno más cómodo para utilizar el lenguaje R es el programa R studio
Posit es una empresa que produce productos asociados al lenguaje R, como el programa sobre el que corremos los comandos, y extensiones del lenguaje (librerías).
El programa es gratuito y se puede bajar de la página oficial
tidyverse
durante el ETL: un paquete para dominarlos a todostidyverse
: 9 paquetes que poseen unas lógicas y reglas similares y que dialogan entre sí sin conflictos.
Cada paquete ofrece un conjunto de funciones que nos permiten de manera amigable resolver las dificulatades específicas de cada etapa.
Hoy nos enfocaremos en los paquetes de tidyr
, dplyr
& ggplot2
para la transformación y visualización del dato.
eph
: caja de herramientas de la encuestaAlgunas de sus funciones son:
get_microdata()
: Descarga las bases de microdatosorganize_caes()
: Clasifica las actividades económicas según el Clasificador de Actividades Economicas para encuestas Sociodemograficas (CAES) Mercosur 1.0 y el CAES Mercosur.gt
: gramática de tablasLa filosofía de gt: podemos construir una gran variedad de tablas útiles con un conjunto cohesionado de partes de tabla a partir de un dataframe o tablas resumen.
Se puede exportar en HTML, PDF & word.
función principal: gt()
¿Qué es?: Programa nacional de producción sistemática y permanente de indicadores sociales que lleva a cabo el Instituto Nacional de Estadística y Censos (INDEC) con las direcciones provinciales de estadística (DPE).
Objetivos: relevar las características sociodemográficas y socioeconómicas de la población. Nos permite conocer indicadores de:
Mercado de trabajo: tasas de empleo, desocupación y subocupación, etc.
Sociales: Población bajo la línea de pobreza.
¿Desde cuando? Desde 1973 a través de la medición puntual de dos ondas anuales (mayo y octubre) A partir de 2003, la EPH pasó a ser continua y trimestral.
¿Donde? hogares y personas para 31 aglomerados urbanos (todas las capitales de provincias + aquellos aglomerados con +100.000 habitantes). Agrupados por regiones estadísticas.
Tipo de muestra: probabilística, estratificada, bietápica por trimestres.
¿De quiénes habla?:
Vamos a la sección r-unlam.netlify.app/Práctica
Vamos a usar la función install.packages()
Llamamos los paquetes con los que vamos a trabajar con la función library()
Descargamos las bases de microdatos de los 4 trimestres de 2024 de la EPH con la función get_microdata()
tabla_1 <- ind_2023 |>
group_by(TRIMESTRE) |>
summarise(Poblacion = sum(PONDERA),
Ocupacion = sum(PONDERA[ESTADO == 1]),
Desocupacion = sum(PONDERA[ESTADO == 2]),
PEA = Ocupacion + Desocupacion,
Ocupacion_demandate = sum(PONDERA[ESTADO == 1 & PP03J ==1]),
Suboc_demandante = sum(PONDERA[ESTADO == 1 & INTENSI ==1 & PP03J==1]),
Suboc_no_demand = sum(PONDERA[ESTADO == 1 & INTENSI ==1 & PP03J %in% c(2,9)]),
Subocupacion = Suboc_demandante + Suboc_no_demand,
'Actividad' = round(PEA/Poblacion*100,1),
'Empleo' = round(Ocupacion/Poblacion*100,1),
'Desocupación' = round(Desocupacion/PEA*100,1),
'Ocupación demandante' = round(Ocupacion_demandate/PEA*100,1),
'Subocupación' = round(Subocupacion/PEA*100,1),
'Subocupación demandante' = round(Suboc_demandante/PEA*100,1),
'Subocupación no demandante' = round(Suboc_no_demand/PEA*100,1)
)
tabla_1
#> # A tibble: 4 × 16
#> TRIMESTRE Poblacion Ocupacion Desocupacion PEA Ocupacion_demandate
#> <int> <int> <int> <int> <int> <int>
#> 1 1 29335155 13191361 973787 14165148 2096890
#> 2 2 29398853 13107639 872119 13979758 2264700
#> 3 3 29463819 13396202 813661 14209863 2159872
#> 4 4 29528610 13517937 822050 14339987 2226764
#> # ℹ 10 more variables: Suboc_demandante <int>, Suboc_no_demand <int>,
#> # Subocupacion <int>, Actividad <dbl>, Empleo <dbl>, Desocupación <dbl>,
#> # `Ocupación demandante` <dbl>, Subocupación <dbl>,
#> # `Subocupación demandante` <dbl>, `Subocupación no demandante` <dbl>
tabla_2 <- tabla_1 |>
select(1,Actividad:'Subocupación no demandante')
tabla_2
#> # A tibble: 4 × 8
#> TRIMESTRE Actividad Empleo Desocupación `Ocupación demandante` Subocupación
#> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 48.3 45 6.9 14.8 9.4
#> 2 2 47.6 44.6 6.2 16.2 10.6
#> 3 3 48.2 45.5 5.7 15.2 10.3
#> 4 4 48.6 45.8 5.7 15.5 10.5
#> # ℹ 2 more variables: `Subocupación demandante` <dbl>,
#> # `Subocupación no demandante` <dbl>
tabla_2 <- tabla_2 |>
pivot_longer(cols = -c(TRIMESTRE), #Las columnas que queremos estirar en este caso son todas excepto el año y el trimestre
names_to = "Tasas", # El nombre que le queremos poner
values_to = "Valor") # el valor en cuestión que hay que repartir
tabla_2
#> # A tibble: 28 × 3
#> TRIMESTRE Tasas Valor
#> <int> <chr> <dbl>
#> 1 1 Actividad 48.3
#> 2 1 Empleo 45
#> 3 1 Desocupación 6.9
#> 4 1 Ocupación demandante 14.8
#> 5 1 Subocupación 9.4
#> 6 1 Subocupación demandante 6.3
#> 7 1 Subocupación no demandante 3.1
#> 8 2 Actividad 47.6
#> 9 2 Empleo 44.6
#> 10 2 Desocupación 6.2
#> # ℹ 18 more rows
tabla_2 <- tabla_2 |>
mutate(trimestre = paste(TRIMESTRE,"Trimestre")) |> # creamos la variable que concatena las etiquetas año y trimestre
select(-TRIMESTRE) |>
pivot_wider(names_from = c("trimestre"), values_from = Valor) # estiramos la variable que creamos
tabla_2
#> # A tibble: 7 × 5
#> Tasas `1 Trimestre` `2 Trimestre` `3 Trimestre` `4 Trimestre`
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 Actividad 48.3 47.6 48.2 48.6
#> 2 Empleo 45 44.6 45.5 45.8
#> 3 Desocupación 6.9 6.2 5.7 5.7
#> 4 Ocupación demandante 14.8 16.2 15.2 15.5
#> 5 Subocupación 9.4 10.6 10.3 10.5
#> 6 Subocupación demandan… 6.3 7.4 6.8 6.8
#> 7 Subocupación no deman… 3.1 3.2 3.5 3.7
gt
tabla_3 <- tabla_2 |>
gt(rowname_col = 'Tasas') |>
# ponemos un título y subtitulo
tab_header(
title = md("**Cuadro 1: Principales tasas del mercado de trabajo. Total 31 aglomerados urbanos.**"),
subtitle = "Primer trimestre 2023-cuarto trimestre 2023") |>
# centramos las columnas del cuerpo
cols_align(
align = "center",
columns = 2:5
) |>
tab_stubhead(label = md('**Tasas**')) %>%
tab_stub_indent(rows=6:7, indent = 5) %>%
# cambiamos las etiquetas de las columnas
tab_source_note('Fuente: INDEC, Encuesta Permanente de Hogares.') |>
tab_footnote("Datos ponderados.") %>%
tab_options(
heading.align = "left",
heading.background.color = "#2B5597",
footnotes.background.color = "#cedcf1",
column_labels.font.weight = "bold"
)
gt
- resultado finalCuadro 1: Principales tasas del mercado de trabajo. Total 31 aglomerados urbanos. |
||||
Primer trimestre 2023-cuarto trimestre 2023 | ||||
Tasas |
1 Trimestre | 2 Trimestre | 3 Trimestre | 4 Trimestre |
---|---|---|---|---|
Actividad | 48.3 | 47.6 | 48.2 | 48.6 |
Empleo | 45.0 | 44.6 | 45.5 | 45.8 |
Desocupación | 6.9 | 6.2 | 5.7 | 5.7 |
Ocupación demandante | 14.8 | 16.2 | 15.2 | 15.5 |
Subocupación | 9.4 | 10.6 | 10.3 | 10.5 |
Subocupación demandante | 6.3 | 7.4 | 6.8 | 6.8 |
Subocupación no demandante | 3.1 | 3.2 | 3.5 | 3.7 |
Fuente: INDEC, Encuesta Permanente de Hogares. | ||||
Datos ponderados. |
ggplot2
subtabla <- tabla_2 %>%
pivot_longer(cols = c(2:5),names_to = "Trimestre", values_to = "value") %>%
mutate(Tasas = paste0("Tasa de ",Tasas)) %>%
filter(!Tasas %in% c("Tasa de Subocupación demandante", "Tasa de Subocupación no demandante"))
grafico1 <- ggplot(subtabla, aes(Trimestre, value, colour = Tasas, group = Tasas)) +
geom_point(size = 4) +
geom_line(linetype = 2,linewidth = 1) +
theme_bw() +
theme(legend.position = "bottom") +
scale_color_brewer(palette = "Set2") +
labs(
title = "Principales tasas del mercado de trabajo por trimestre. Total 31 aglomerados urbanos.",
subtitle = "Año 2023",
y = "porcentaje",
x = "tasa",
caption = "Fuente: elaboración propia con base en datos del INDEC. Encuesta Permanente de Hogares"
)
ggplot2
- resultado final