This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.
Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Cmd+Shift+Enter.
#1. Los datos de las variables macrofiscales como tendencia
library(readxl)
datos_1 <- read_excel("~/Downloads/pruebastécnicas.xlsx")
names(datos_1)
[1] "Concepto" "2005" "2006" "2007" "2008" "2009"
[7] "2010" "2011" "2012" "2013" "2014" "2015"
[13] "2016" "2017" "2018" "2019" "2020" "2021"
[19] "2022" "2023" "2024" "20251/"
names(datos_1)[1] <- "Concepto"
names(datos_1)
[1] "Concepto" "2005" "2006" "2007" "2008" "2009"
[7] "2010" "2011" "2012" "2013" "2014" "2015"
[13] "2016" "2017" "2018" "2019" "2020" "2021"
[19] "2022" "2023" "2024" "20251/"
library(dplyr)
library(tidyr)
datos <- datos_1 |>
mutate(Concepto = trimws(Concepto))
datos_largos <- datos |>
pivot_longer(
cols = -Concepto,
names_to = "Anio",
values_to = "Valor"
)
head(datos_largos)
library(readxl)
library(dplyr)
library(tidyr)
unique(datos_largos$Anio)
[1] "2005" "2006" "2007" "2008" "2009" "2010" "2011" "2012"
[9] "2013" "2014" "2015" "2016" "2017" "2018" "2019" "2020"
[17] "2021" "2022" "2023" "2024" "20251/"
library(ggplot2)
datos_largos <- datos_largos |>
mutate(
Anio = gsub("20251/", "2025", Anio),
Anio = as.numeric(Anio),
Valor = as.numeric(Valor)
)
unique(datos_largos$Concepto)
[1] "Ingresos Totales"
[2] "Ingresos Corrientes"
[3] "Ingresos Tributarios"
[4] "Impuestos Directos"
[5] "Impuestos Indirectos"
[6] "Impuesto al Valor Agregado"
[7] "No Tributarios y Transferencias"
[8] "Ingresos de Capital"
[9] "Gastos Totales"
[10] "Gastos Corrientes"
[11] "Remuneraciones"
[12] "Bienes y Servicios"
[13] "Impuestos pagados por dependencias del Estado"
[14] "Descuentos y Bonificaciones"
[15] "Prestaciones a la Seguridad Social"
[16] "Intereses"
[17] "Deuda interna"
[18] "Deuda externa"
[19] "Préstamos"
[20] "Bonos"
[21] "Arrendamiento de Tierra y Terrenos"
[22] "Derechos Sobre Bienes Intangibles"
[23] "Transferencias"
[24] "Resto del Sector Público"
[25] "Sector privado"
[26] "Sector externo"
[27] "Gastos de Capital"
[28] "Inversión Real Directa"
[29] "Inversión Financiera"
[30] "Sector privado y externo"
[31] "Resultado en Cuenta Corriente"
[32] "Resultado Presupuestario"
[33] "Financiamiento Total"
[34] "Financiamiento Externo Neto"
[35] "Desembolsos"
[36] "Amortizaciones"
[37] "Negociación Neta de Bonos"
[38] "Financiamiento Interno Neto"
[39] "Deuda Neta Flotante"
[40] "Otros Ingresos"
[41] "Desincorporación de activos"
[42] "Colocación Neta de Prima de Bonos"
[43] "Amortización por el Costo de la Política Monetaria"
[44] "Variación de Caja (+) disminución (-) aumento"
[45] "Ingresos Totales Netos"
[46] "Ingresos Corrientes Netos"
[47] "Ingresos Tributarios Netos"
[48] "Impuestos Indirectos Netos"
[49] "Impuesto al Valor Agregado Neto"
[50] "Gastos Totales (Sin Devoluciones de Crédito Fiscal IVA)"
[51] "Descuentos y Bonificaciones (Sin Dev. Crédito Fiscal IVA)"
[52] "Balance Presupuestario"
[53] "Devoluciones de Crédito Fiscal del IVA registradas en la Liquidación Presupuestaria"
[54] "Liquidación Presupuestaria"
[55] "PIB a precios corrientes"
variables_clave <- c(
"Ingresos Totales",
"Gastos Totales",
"Resultado Presupuestario",
"Balance Presupuestario",
"Financiamiento Total",
"PIB a precios corrientes"
)
#Resultado
datos_tendencia <- datos_largos |>
filter(Concepto %in% variables_clave)
ggplot(datos_tendencia, aes(x = Anio, y = Valor, color = Concepto)) +
geom_line(linewidth = 1) +
geom_point() +
labs(
title = "Tendencia de variables macrofiscales",
x = "Año",
y = "Valor"
) +
theme_minimal()
# ================================
# 6. Tabla matriz como % del PIB nominal
# ================================
variables_matriz <- c(
"Ingresos Totales",
"Gastos Totales",
"Resultado Presupuestario",
"Balance Presupuestario",
"Financiamiento Total"
)
matriz_resumida <- datos_pct_pib |>
filter(Concepto %in% variables_matriz) |>
select(Concepto, Anio, Pct_PIB) |>
group_by(Concepto, Anio) |>
summarise(Pct_PIB = mean(Pct_PIB, na.rm = TRUE), .groups = "drop") |>
pivot_wider(
names_from = Anio,
values_from = Pct_PIB
) |>
mutate(across(-Concepto, ~ round(.x, 2)))
matriz_resumida
knitr::kable(
matriz_resumida,
caption = "Tabla matriz de variables macrofiscales como % del PIB nominal"
)
| Concepto | 2005 | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Balance Presupuestario | -1.67 | -1.88 | -1.40 | -1.57 | -3.12 | -3.28 | -2.80 | -2.42 | -2.16 | -1.92 | -1.47 | -1.11 | -1.38 | -1.88 | -2.24 | -4.91 | -1.16 | -1.70 | -1.25 | -0.96 | -1.92 |
| Financiamiento Total | 1.67 | 1.88 | 1.40 | 1.57 | 3.12 | 3.28 | 2.80 | 2.42 | 2.16 | 1.92 | 1.47 | 1.11 | 1.38 | 1.88 | 2.24 | 4.91 | 1.16 | 1.70 | 1.25 | 0.96 | 1.88 |
| Gastos Totales | 13.24 | 14.17 | 13.91 | 13.26 | 14.10 | 14.47 | 14.49 | 14.15 | 13.99 | 13.60 | 12.58 | 12.57 | 12.78 | 13.19 | 13.44 | 15.58 | 13.47 | 14.27 | 13.73 | 13.38 | 14.50 |
| Ingresos Totales | 11.57 | 12.29 | 12.50 | 11.69 | 10.98 | 11.19 | 11.68 | 11.73 | 11.83 | 11.67 | 11.11 | 11.46 | 11.39 | 11.31 | 11.21 | 10.68 | 12.31 | 12.57 | 12.48 | 12.42 | 12.62 |
| Resultado Presupuestario | -1.67 | -1.88 | -1.40 | -1.57 | -3.12 | -3.28 | -2.80 | -2.42 | -2.16 | -1.92 | -1.47 | -1.11 | -1.38 | -1.88 | -2.24 | -4.91 | -1.16 | -1.70 | -1.25 | -0.96 | -1.88 |
NA