Advertisement
yayopoint

Ingreso Monetario Adultos mayores

Feb 4th, 2024 (edited)
1,166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 2.23 KB | Science | 0 0
  1. # Librerías ---------------------------------------------------------------
  2.  
  3. library(tidyverse)
  4. library(haven)
  5. library(survey)
  6. library(magrittr, include.only = "%<>%")
  7. library(scales)
  8. library(ggpubr)
  9.  
  10. # Cargar base de datos ----------------------------------------------------
  11.  
  12. # Se lee la base de datos
  13. casen2022 <- read_spss("datos/2022/Base de datos Casen 2022 SPSS.sav")
  14.  
  15. # Filtrar y procesar ------------------------------------------------------
  16.  
  17. # Se filtra los adultos mayores
  18. casen2022 %<>%
  19.   filter(edad >= 65)
  20.  
  21. # Se aplica el diseño muestral
  22. svycasen2022 <- svydesign(ids=~1, weights=~expr, data=casen2022)
  23.  
  24. # Se calcula los deciles de ingreso monetario
  25. deciles <- svyquantile(~ymonecor, svycasen2022, seq(0,1,len=11), na.rm=TRUE)
  26.  
  27. # Se crea la variable deciles de ingreso monetario:
  28. svycasen2022$variables %<>%
  29.   mutate(ymonecor_deciles = cut(ymonecor,
  30.                                 deciles$ymonecor[,"quantile"],
  31.                                 include.lowest=TRUE,
  32.                                 labels=paste("Decil", as.roman(1:10))),
  33.          sexo=as_factor(sexo))
  34.  
  35. # Tabla 1: Ingreso monetario corregido según decil de ingreso y sexo
  36. tab1 <- svyby(~ymonecor, ~ymonecor_deciles+sexo, svycasen2022, svymean)
  37.  
  38. # Tabla 1 con sexo en las columnas y deciles en las filas
  39. xtabs(ymonecor~ymonecor_deciles+sexo, data=tab1) %>%
  40.   format(digits=2, big.mark=".", decimal.mark=",") -> tab1.1
  41.  
  42. # Tabla 1 para el gráfico
  43. tab1.1_g <- ggtexttable(tab1.1)
  44.  
  45. # Se genera gráfico de columnas
  46. grafico1 <- svyby(~ymonecor, ~ymonecor_deciles+sexo, svycasen2022, svymean) %>%
  47.   ggplot() +
  48.   aes(x=ymonecor_deciles, y=ymonecor, fill=sexo) +
  49.   geom_col(position="dodge") +
  50.   scale_y_continuous(labels=label_number(scale=1e-3, prefix="$", suffix="m")) +
  51.   labs(title="Promedio ingreso monetario corregido promedio en mayores de 65 años",
  52.        subtitle="Según decil de ingreso monetario y Sexo",
  53.        y="Ingreso monetario corregido\n(en miles de pesos)",
  54.        x="Decil de ingreso monetario",
  55.        caption="Autor: Andrés Necochea\nFuente:Elaboración propia en base a datos de CASEN 2022")
  56.  
  57. # Se agrega la tabla al gráfico 1
  58. grafico1 +
  59.   annotation_custom(ggplotGrob(tab1.1_g), ymin=500000, ymax=1500000, xmin=1, xmax=3)
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement