Este ejercicio tiene por finalidad calcular e interpretar la estructura porcentual del Valor Agregado Bruto (VAB) de una economía hipotética, desagregado por rama de actividad económica. Los procedimientos abordados son:
Se cargan los paquetes del ecosistema tidyverse
requeridos para la manipulación y visualización de datos. La opción
scipen se ajusta para evitar la notación científica en la
salida numérica.
library(dplyr)
library(tidyr)
library(ggplot2)
options(scipen = 999)
Se define un data.frame con seis ramas de actividad y
sus respectivos valores agregados brutos, expresados en millones de
unidades monetarias.
vab <- data.frame(
rama = c("Agropecuario", "Manufactura", "Construccion",
"Comercio", "Servicios", "Adm. publica"),
vab = c(1700, 5780, 1360, 7820, 12240, 5100)
)
vab
#> rama vab
#> 1 Agropecuario 1700
#> 2 Manufactura 5780
#> 3 Construccion 1360
#> 4 Comercio 7820
#> 5 Servicios 12240
#> 6 Adm. publica 5100
El VAB total de la economía asciende a 34,000 millones.
La participación de cada rama \(i\) en el VAB total se define como:
\[ p_i = \frac{VAB_i}{\sum_{j=1}^{n} VAB_j} \times 100 \]
donde \(p_i\) expresa el peso porcentual de la rama dentro de la estructura productiva agregada.
estructura <- vab %>%
mutate(participacion = vab / sum(vab) * 100)
estructura
#> rama vab participacion
#> 1 Agropecuario 1700 5
#> 2 Manufactura 5780 17
#> 3 Construccion 1360 4
#> 4 Comercio 7820 23
#> 5 Servicios 12240 36
#> 6 Adm. publica 5100 15
Como verificación de consistencia, la suma de las participaciones debe ser igual a 100 %:
sum(estructura$participacion)
#> [1] 100
El ordenamiento descendente permite jerarquizar las ramas según su contribución al producto, paso indispensable para el análisis de concentración.
estructura <- vab %>%
mutate(participacion = vab / sum(vab) * 100) %>%
arrange(desc(participacion))
estructura
#> rama vab participacion
#> 1 Servicios 12240 36
#> 2 Comercio 7820 23
#> 3 Manufactura 5780 17
#> 4 Adm. publica 5100 15
#> 5 Agropecuario 1700 5
#> 6 Construccion 1360 4
La participación acumulada se obtiene mediante la suma corrida de las participaciones ordenadas:
\[ P_k = \sum_{i=1}^{k} p_i \]
estructura <- estructura %>%
mutate(participacion_acum = cumsum(participacion))
estructura
#> rama vab participacion participacion_acum
#> 1 Servicios 12240 36 36
#> 2 Comercio 7820 23 59
#> 3 Manufactura 5780 17 76
#> 4 Adm. publica 5100 15 91
#> 5 Agropecuario 1700 5 96
#> 6 Construccion 1360 4 100
Se identifica el número mínimo de ramas necesarias para alcanzar el 75 % del VAB total. Este indicador constituye una medida simple de concentración productiva: mientras menor sea el número de ramas requeridas, mayor será la dependencia de la economía respecto de un conjunto reducido de actividades.
n_ramas_75 <- which(estructura$participacion_acum >= 75)[1]
n_ramas_75
#> [1] 3
estructura$rama[1:n_ramas_75]
#> [1] "Servicios" "Comercio" "Manufactura"
Las primeras 3 ramas concentran el 76 % del valor agregado bruto.
Las ramas se reagrupan conforme a la clasificación tradicional de los tres sectores de la actividad económica.
estructura <- estructura %>%
mutate(sector = case_when(
rama == "Agropecuario" ~ "Primario",
rama %in% c("Manufactura", "Construccion") ~ "Secundario",
rama %in% c("Comercio", "Servicios", "Adm. publica") ~ "Terciario"
))
estructura
#> rama vab participacion participacion_acum sector
#> 1 Servicios 12240 36 36 Terciario
#> 2 Comercio 7820 23 59 Terciario
#> 3 Manufactura 5780 17 76 Secundario
#> 4 Adm. publica 5100 15 91 Terciario
#> 5 Agropecuario 1700 5 96 Primario
#> 6 Construccion 1360 4 100 Secundario
A continuación se agregan los valores por sector:
participacion_sector <- estructura %>%
group_by(sector) %>%
summarise(
vab_sector = sum(vab),
participacion_sector = sum(participacion)
) %>%
arrange(desc(participacion_sector))
participacion_sector
#> # A tibble: 3 × 3
#> sector vab_sector participacion_sector
#> <chr> <dbl> <dbl>
#> 1 Terciario 25160 74
#> 2 Secundario 7140 21
#> 3 Primario 1700 5
El gráfico circular permite visualizar el peso relativo de cada rama dentro del total. Se construye a partir de una barra apilada transformada a coordenadas polares.
ggplot(estructura, aes(x = "", y = participacion, fill = rama)) +
geom_col(width = 1, color = "white") +
coord_polar(theta = "y") +
geom_text(aes(label = paste0(round(participacion, 1), "%")),
position = position_stack(vjust = 0.5),
color = "white", size = 4, fontface = "bold") +
labs(
title = "Estructura del VAB por rama de actividad",
fill = "Rama de actividad"
) +
theme_void() +
theme(legend.position = "right")
Estructura del VAB por rama de actividad
Los resultados obtenidos permiten caracterizar el perfil productivo de la economía analizada: