library(dplyr)
library(kableExtra)
library(Hmisc)
library(ggthemes)
options(scipen=999)
datos<-readRDS("datos.rds") # son las eph 2018 2024 primer trimestre
s<-datos %>%
filter(PP08D1>0 & is.na(PP08D1)==F &
PP08D1<wtd.quantile(PP08D1,.99,
weights=PONDII)) %>%
group_by(ANO4) %>%
mutate(decil=cut(PP08D1, wtd.quantile(PP08D1,
seq(0,1,.1),
weights=PONDII)),
decil=factor(decil, labels = c("d1","d2","d3","d4","d5","d6","d7",
"d8","d9","d10"),
ordered = TRUE)) %>%
group_by(ANO4, decil) %>%
summarise(mediana_grupo=wtd.quantile(PP08D1, .5, weights=PONDII),
min_grupo=min(PP08D1),max_grupo=max(PP08D1),
media_grupo=wtd.mean(PP08D1, weights=PONDII))
el cociente de las medianas de los grupos extremos
el cociente del minimo del grupo superior sobre el máximo del grupo inferior. Asà entiendo que se calcula el P90/P10 “someone who falls just inside the richest 10% of their country’s population… someone who falls just inside the poorest 10%.
resumen_s<-s %>%
group_by(ANO4) %>%
summarise(mediana.D1=mediana_grupo[decil=="d1"],
mediana.D10=mediana_grupo[decil=="d10"],
cociente.medianas=round(mediana_grupo[decil=="d10"]/mediana_grupo[decil=="d1"],2),
minimo_alto=min_grupo[decil=="d10"], maximo_bajo=max_grupo[decil=="d1"],
P90.P10=round(min_grupo[decil=="d10"]/max_grupo[decil=="d1"],2) ) %>%
filter(is.na(cociente.medianas)==F & is.na(P90.P10)==F)
resumen_s%>% kable()
| ANO4 | mediana.D1 | mediana.D10 | cociente.medianas | minimo_alto | maximo_bajo | P90.P10 |
|---|---|---|---|---|---|---|
| 2018 | 3000 | 40000 | 13.33 | 30500 | 4400 | 6.93 |
| 2019 | 15000 | 46000 | 3.07 | 38200 | 15000 | 2.55 |
| 2020 | 30000 | 70000 | 2.33 | 57900 | 30000 | 1.93 |
| 2021 | 30000 | 100000 | 3.33 | 77000 | 30000 | 2.57 |
| 2022 | 12500 | 160000 | 12.80 | 121000 | 17000 | 7.12 |
| 2023 | 22000 | 300000 | 13.64 | 225000 | 32000 | 7.03 |
| 2024 | 60000 | 600000 | 10.00 | 502650 | 80000 | 6.28 |
# no se de dónde vienen esos NA
ggplot(resumen_s)+geom_point(aes(ANO4, mediana.D1), col="blue")+
geom_point(aes(ANO4, mediana.D10), col="red")+xlab("Anio")+
ylab("Medianas de ingresos salariales \n de grupos extremos")+
geom_segment(aes(x=ANO4, xend=ANO4, y=mediana.D1, yend=mediana.D10))+
theme_tufte()
ggplot(resumen_s)+geom_point(aes(ANO4, maximo_bajo), col="blue")+
geom_point(aes(ANO4, minimo_alto), col="red")+xlab("Anio")+
ylab("Limites de ingresos salariales \n de grupos extremos")+
geom_segment(aes(x=ANO4, xend=ANO4, y=maximo_bajo, yend=minimo_alto))+
theme_tufte()
st<-datos %>%
filter(P47T>0 & is.na(P47T)==F &
P47T<wtd.quantile(P47T,.99,
weights=PONDII)) %>%
group_by(ANO4) %>%
mutate(decil=cut(P47T, wtd.quantile(P47T,
seq(0,1,.1),
weights=PONDII)),
decil=factor(decil, labels = c("d1","d2","d3","d4","d5","d6","d7",
"d8","d9","d10"),
ordered = TRUE)) %>%
group_by(ANO4, decil) %>%
summarise(mediana_grupo=wtd.quantile(P47T, .5, weights=PONDII),
min_grupo=min(P47T),max_grupo=max(P47T),
media_grupo=wtd.mean(P47T, weights=PONDII))
resumen_st<-st %>%
group_by(ANO4) %>%
summarise(mediana.D1=mediana_grupo[decil=="d1"],
mediana.D10=mediana_grupo[decil=="d10"],
cociente.medianas=round(mediana_grupo[decil=="d10"]/mediana_grupo[decil=="d1"],2),
minimo_alto=min_grupo[decil=="d10"], maximo_bajo=max_grupo[decil=="d1"],
P90.P10=round(min_grupo[decil=="d10"]/max_grupo[decil=="d1"],2) ) %>%
filter(is.na(cociente.medianas)==F & is.na(P90.P10)==F)
resumen_st %>% kable()
| ANO4 | mediana.D1 | mediana.D10 | cociente.medianas | minimo_alto | maximo_bajo | P90.P10 |
|---|---|---|---|---|---|---|
| 2018 | 2000 | 45000 | 22.50 | 33100 | 3900 | 8.49 |
| 2019 | 23100 | 60000 | 2.60 | 45300 | 25000 | 1.81 |
| 2020 | 23800 | 89000 | 3.74 | 65100 | 25000 | 2.60 |
| 2021 | 24000 | 110000 | 4.58 | 85400 | 25000 | 3.42 |
| 2022 | 29000 | 175000 | 6.03 | 130000 | 30000 | 4.33 |
| 2023 | 57000 | 300000 | 5.26 | 239000 | 60000 | 3.98 |
| 2024 | 40000 | 600000 | 15.00 | 512000 | 75000 | 6.83 |
ggplot(resumen_st)+geom_point(aes(ANO4, mediana.D1), col="blue")+
geom_point(aes(ANO4, mediana.D10), col="red")+xlab("Anio")+
ylab("Medianas de ingresos totales \n de grupos extremos")+
geom_segment(aes(x=ANO4, xend=ANO4, y=mediana.D1, yend=mediana.D10))+
theme_tufte()
ggplot(resumen_st)+geom_point(aes(ANO4, maximo_bajo), col="blue")+
geom_point(aes(ANO4, minimo_alto), col="red")+xlab("Anio")+
ylab("Limites de ingresos totales \n de grupos extremos")+
geom_segment(aes(x=ANO4, xend=ANO4, y=maximo_bajo, yend=minimo_alto))+
theme_tufte()