Presupuesto programas sociales
library(readr)
## Warning: package 'readr' was built under R version 4.4.3
targets <- c(
"Transferencias, asignaciones, subsidios y otras ayudas" = "Capítulo",
"Ayudas sociales" = "Concepto",
"Ayudas sociales a personas" = "Partida Genérica",
"Becas y otras ayudas para programas de capacitación" = "Partida Genérica"
)
leer_efipem_edomex <- function(anio) {
df <- read_csv(paste0("efipem_estatal_anual_tr_cifra_", anio, ".csv"),
show_col_types = FALSE)
df <- df[df$CVE_ENT == "15", ]
resultado <- sapply(names(targets), function(desc) {
fila <- df[df$DESCRIPCION_CATEGORIA == desc & df$CATEGORIA == targets[desc], ]
if (nrow(fila) == 0) return(NA) # rubro no reportado ese año -> NA (dato faltante, no cero)
as.numeric(fila$VALOR[1])
})
data.frame(anio = anio, t(resultado))
}
#Leer 2006 a 2024
anios_efipem <- 2006:2024
efipem_edomex <- do.call(rbind, lapply(anios_efipem, leer_efipem_edomex))
names(efipem_edomex) <- c("anio", "transferencias_subsidios", "ayudas_sociales",
"ayudas_sociales_personas", "becas")
#Sexenios
efipem_edomex$sexenio <- cut(
efipem_edomex$anio,
breaks = c(2006, 2012, 2018, 2024),
labels = c("2006-2012", "2012-2018", "2018-2024"),
include.lowest = FALSE
)
efipem_edomex
## anio transferencias_subsidios ayudas_sociales ayudas_sociales_personas
## 1 2006 46604358700 211856700 8113400
## 2 2007 46150715100 72066220 10654840
## 3 2008 68629218400 208654800 44119000
## 4 2009 69105260600 193149000 394200
## 5 2010 84760470200 350265800 12915300
## 6 2011 93190529000 353788500 63850400
## 7 2012 103939374300 445153900 8989500
## 8 2013 111904266300 739205500 8107300
## 9 2014 125515065200 852718400 2022700
## 10 2015 127024451200 762764000 23129000
## 11 2016 145062795700 1196114800 872900
## 12 2017 154038983400 1016907000 14958900
## 13 2018 160681535973 983761000 NA
## 14 2019 165977262008 1270171653 4656000
## 15 2020 160151714490 1057662148 NA
## 16 2021 160920950100 805190800 NA
## 17 2022 179095545677 693087516 NA
## 18 2023 188994248913 635067349 NA
## 19 2024 208098287566 802614771 NA
## becas sexenio
## 1 203743300 <NA>
## 2 61411380 2006-2012
## 3 164535800 2006-2012
## 4 192754800 2006-2012
## 5 337350500 2006-2012
## 6 289938100 2006-2012
## 7 436164400 2006-2012
## 8 731098200 2012-2018
## 9 850695700 2012-2018
## 10 734448000 2012-2018
## 11 1195241900 2012-2018
## 12 1001948100 2012-2018
## 13 983761000 2012-2018
## 14 1265515653 2018-2024
## 15 1057662148 2018-2024
## 16 805190800 2018-2024
## 17 693087516 2018-2024
## 18 635067349 2018-2024
## 19 802614771 2018-2024
#Promedio por sexenio
presupuesto_sexenio_nominal <- aggregate(
cbind(transferencias_subsidios, ayudas_sociales, becas) ~ sexenio,
data = efipem_edomex,
FUN = mean
)
presupuesto_sexenio_nominal
## sexenio transferencias_subsidios ayudas_sociales becas
## 1 2006-2012 77629261267 270513037 247025830
## 2 2012-2018 137371182962 925245117 916198817
## 3 2018-2024 177206334792 877299040 876523040
#INPC por año, promedio ponderado Enero a diciembre con fuente de la INEGI
inpc <- data.frame(
anio = 2006:2024,
inpc_dic = c(61.23867495, 63.6679211, 66.9308904, 70.47645869, 73.40597327,
75.90719344, 79.02812419, 82.03624266, 85.33296522, 87.65456908,
90.12792486, 95.57296362, 100, 103.9006667, 107.43,
113.5419167, 122.5075, 129.2796667, 135.3845833)
)
inpc_dic_2024_gral <- inpc$inpc_dic[inpc$anio == 2024]
inpc$factor_defl_presupuesto <- inpc_dic_2024_gral / inpc$inpc_dic
efipem_edomex <- merge(efipem_edomex, inpc[, c("anio", "factor_defl_presupuesto")], by = "anio")
# Deflactar
efipem_edomex$transferencias_subsidios_2024 <- efipem_edomex$transferencias_subsidios * efipem_edomex$factor_defl_presupuesto
efipem_edomex$ayudas_sociales_2024 <- efipem_edomex$ayudas_sociales * efipem_edomex$factor_defl_presupuesto
efipem_edomex$becas_2024 <- efipem_edomex$becas * efipem_edomex$factor_defl_presupuesto
efipem_edomex$ayudas_sociales_personas_2024 <- efipem_edomex$ayudas_sociales_personas * efipem_edomex$factor_defl_presupuesto
# Promedio por sexenio
presupuesto_sexenio_real <- aggregate(
cbind(transferencias_subsidios_2024, ayudas_sociales_2024, becas_2024, ayudas_sociales_personas_2024) ~ sexenio,
data = efipem_edomex,
FUN = mean, na.rm = TRUE
)
#Contar datos faltantes
n_datos <- aggregate(
ayudas_sociales_personas ~ sexenio,
data = efipem_edomex,
FUN = function(x) sum(!is.na(x))
)
names(n_datos)[2] <- "Años que sí cuentan con ayuda personas"
presupuesto_sexenio_real <- merge(presupuesto_sexenio_real, n_datos, by = "sexenio")
presupuesto_sexenio_real
## sexenio transferencias_subsidios_2024 ayudas_sociales_2024 becas_2024
## 1 2006-2012 145050490634 497657354 453364615
## 2 2012-2018 203222568080 1397626466 1381061527
## 3 2018-2024 216271590625 1655058292 1648991434
## ayudas_sociales_personas_2024 Años que sí cuentan con ayuda personas
## 1 44292739 6
## 2 14962650 5
## 3 6066858 1
Nota. El promedio de 2018-2024 se basa en 1 solo año de 6 (solo 2019
reportó dato) y los años 2018, 2020-2024 no fueron reportados por la
fuente