diff --git a/vignettes/bases_eph.rds b/vignettes/bases_eph.rds deleted file mode 100644 index 3a664f4..0000000 Binary files a/vignettes/bases_eph.rds and /dev/null differ diff --git a/vignettes/estimacion_pobreza.Rmd b/vignettes/estimacion_pobreza.Rmd index fd797ae..115d744 100644 --- a/vignettes/estimacion_pobreza.Rmd +++ b/vignettes/estimacion_pobreza.Rmd @@ -7,6 +7,11 @@ vignette: > %\VignetteEncoding{UTF-8} --- +```{r, echo = FALSE} +LOCAL <- identical(Sys.getenv("LOCAL"), "TRUE") +knitr::opts_chunk$set(purl = LOCAL) +``` + ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, @@ -17,7 +22,7 @@ knitr::opts_chunk$set( En esta vignette mostraremos como utilizar las funciones `get_poverty_lines()` y `calculate_poverty()` para calcular la pobreza aproximando la [metodología oficial](http://www.indec.gob.ar/ftp/cuadros/sociedad/EPH_metodologia_22_pobreza.pdf) de INDEC. Primero cargamos el paquete `eph` junto con otros paquetes que serán de utilidad -```{r setup} +```{r setup, eval=LOCAL} knitr::opts_chunk$set(warning = FALSE, message = FALSE) library(eph) library(tidyverse) @@ -34,7 +39,7 @@ El parametro `regionales` de la función `get_poverty_lines()` define cual de la Además, con la función `get_microdata()` descargamos las bases de todos los trimestres entre 2016 y 2019. Dado que son muchas bases y no utilizaremos todas las variables, utilizamos el parametro `vars` para hacer un pre filtro de la base y no sobrecargar la memoria. A su vez, dado que la descarga y filtrado de las bases consume mucho tiempo, utilizamos el parámetro `destfile` para guardar la descarga en un archivo, y que la próxima vez que se ejecute la función cargue este archivo, de forma mucho más rápida (en la computadora donde se construyó la vignette, la primera corrida tarda 100 seg y las siguientes 0.5 seg!) -```{r} +```{r, eval=LOCAL} canastas_regionales <- get_poverty_lines(regional = TRUE) bases <- get_microdata(year = 2016:2019, trimester = 1:4, @@ -45,7 +50,7 @@ bases <- get_microdata(year = 2016:2019, Con la función `unnest()` agrupamos todas las bases, y con `calculate_poverty()` y los datos que descargamos calculamos la pobreza. El parámetro `print_summary=TRUE` le indica a la función que deseamos imprimir un cuadro de las tasas de pobreza e indigencia por período. Sin embargo, en la tabla `bases_pobreza` contamos ahora con la variable `situación` que indica si el hogar es `pobre`, `indigente` o `no_pobre`. Si la variable es `NA` es porque al menos un miembro del hogar no declaró el ingreso (y por lo tanto no se sabe el Ingreso Total Familiar). -```{r} +```{r, eval=LOCAL} bases <- bases %>% unnest(cols = c(microdata)) bases_pobreza <- calculate_poverty(bases, canastas_regionales, print_summary = TRUE) bases_pobreza @@ -56,7 +61,7 @@ bases_pobreza Descargamos las tasas de pobreza e indigencia oficiales que guardamos en nuestro repositorio [holatam/data](https://raw.githubusercontent.com/holatam/data/master/eph/canasta/pobreza_oficial.csv). -```{r} +```{r, eval=LOCAL} pobreza_oficial <- read_csv('https://raw.githubusercontent.com/holatam/data/master/eph/canasta/pobreza_oficial.csv') pobreza_oficial <- pobreza_oficial %>% mutate(periodo = parse_date_time(paste0(ANO4,'-',SEMESTRE*2), 'Y.q')) %>% @@ -66,7 +71,7 @@ pobreza_oficial Reutilizamos el código dentro de la función `calculate_poverty()` que calcula las tasas de pobreza e indigencia para comparar los resultados. Nótese que no es un promedio simple, sino un promedio ponderado por la variable `PONDIH`. -```{r} +```{r, eval=LOCAL} Pobreza_resumen <- bases_pobreza %>% group_by(ANO4,TRIMESTRE) %>% summarise(Tasa_pobreza = sum(PONDIH[situacion %in% c('pobre', 'indigente')],na.rm = TRUE)/sum(PONDIH,na.rm = TRUE), @@ -88,7 +93,7 @@ A continuación mostramos un gráfico que compara los resultados: Se puede ver que la pobreza oficial se ubica en todos los períodos como un punto entre los dos trimestres que la componen (es decir los segmentos a su izquierda y derecha). -```{r, fig.height=5, fig.width=7} +```{r, fig.height=5, fig.width=7, eval=LOCAL} Pobreza_resumen <- Pobreza_resumen %>% group_by(tipo, grupo) %>% mutate(x = lag(periodo), @@ -109,7 +114,7 @@ Dado que la estimación que realizamos con las bases trimestrales es consistente Por ejemplo, podemos utilizar la variable `PP04D_COD` con el código de ocupación, y la función `organize_cno()` para extraer la calificación del puesto. Luego, podemos estudiar las tasas de pobreza e indigencia según la calificación del trabajo. De esta forma, vemos que tanto pobreza como indigencia son más altas entre los trabajadores no calificados, siguiendo los operativos, los técnicos y finalmente los trabajadores profesionales, con tasas más bajas. -```{r, fig.height=5, fig.width=7} +```{r, fig.height=5, fig.width=7, eval=LOCAL} pobreza_calificacion <- bases_pobreza %>% filter(!is.na(situacion), !is.na(PP04D_COD))%>% organize_cno(.) %>% @@ -132,7 +137,7 @@ pobreza_calificacion %>% A su vez, podemos analizar la relación entre la pobreza y la precariedad laboral. Utilizando la variable `PP07H`, que indica si se perciben descuentos jubilatorios o no (un proxy común para la precariedad laboral), podemos comparar la incidencia de la pobreza y la indigencia entre trabajadores precarios y formales. Como puede verse en el siguiente gráfico, las diferencias son significativas en ambos indicadores. -```{r, fig.height=7, fig.width=7} +```{r, fig.height=7, fig.width=7, eval=LOCAL} pobreza_informalidad <- bases_pobreza %>% filter(!is.na(situacion), PP07H %in% 1:2) %>% group_by(year,trimester,PP07H) %>% @@ -166,7 +171,7 @@ Como se mencionó más arriba, las canastas utilizadas para calular la pobreza t ## Canasta Básica Alimentaria Primero calculamos el cociente de las canastas de las regiones respecto a la de GBA. -```{r} +```{r, eval=LOCAL} relativos_cba <- canastas_regionales %>% select(-CBT, -codigo) %>% pivot_wider(names_from = region,values_from = CBA) %>% @@ -185,7 +190,7 @@ Como se dijo, luego de valorizarse con precios de GBA, se multiplican por el PPC Se puede observar que si bien todas las canastas tienen por composición un mayor valor que la canasta de GBA, al multiplicarlas por el PPPC tan sólo la región Patagónica conserva una canasta con mayor valor. -```{r, fig.height=5, fig.width=7} +```{r, fig.height=5, fig.width=7, eval=LOCAL} ppcc = data.frame( region = c('Cuyo','GBA','Noreste','Noroeste','Pampeana','Patagonia'), ppcc = c(.872,1,.886,.865,.904,.949) @@ -208,7 +213,7 @@ relativos_cba %>% ## Canasta Básica Total -```{r} +```{r, eval=LOCAL} relativos_cbt <- canastas_regionales %>% select(-CBA, -codigo) %>% pivot_wider(names_from = region,values_from = CBT) %>% @@ -220,7 +225,7 @@ relativos_cbt Los resultados son similares analizando la CBT. -```{r, fig.height=5, fig.width=7} +```{r, fig.height=5, fig.width=7, eval=LOCAL} relativos_cbt %>% pivot_longer(cols = Cuyo:Patagonia,names_to = 'region', values_to = 'relativo') %>% @@ -242,7 +247,7 @@ Dado que la CBT no se calcula valorizando una canasta, sino multiplicando a la C Por lo tanto, realizamos la misma comparación para el ICE, calculado a partir de las CBA y CBT. -```{r} +```{r, eval=LOCAL} relativos_ice <- canastas_regionales %>% group_by(region, periodo) %>% mutate(ice = CBT/CBA) %>% @@ -254,7 +259,7 @@ relativos_ice <- canastas_regionales %>% relativos_ice ``` -```{r, fig.height=5, fig.width=7} +```{r, fig.height=5, fig.width=7, eval=LOCAL} relativos_ice %>% pivot_longer(cols = Cuyo:Patagonia,names_to = 'region', values_to = 'relativo') %>% left_join(ppcc, by =c('region')) %>%