ESdata es un paquete de R que permite acceder a informaciĂłn estadĂstica de España estructurada como datos ordenados (tidy data). Si se tiene instalado previamente el paquete devtools, puede instalarse el paquete desde Github haciendo:
devtools::install_github("jmsallan/ESdata")
Una vez instalado el paquete, podemos acceder a los datos haciendo:
library(ESdata)
El paquete permite acceder a un conjunto de datos estructurados en data frames, con la Ășnica dependencia de disponer de una versiĂłn de R superior a la 3.5.0. Una buena alternativa para explorar estos datos es usar los paquetes del tidyverse:
library(tidyverse)
En su versiĂłn actual, el paquete dispone de informaciĂłn relativa a:
En este documento mostraremos la informaciĂłn disponible sobre el producto interior bruto.
El producto interior bruto (PIB) es el valor monetario de los bienes y servicios finales producidos por una economĂa en un periodo de tiempo. El PIB mide el incremento de riqueza o patrimonio de una economĂa de manera agregada. Su medida permite evaluar el crecimiento de una economĂa, cĂłmo una economĂa obtiene y gasta su renta, y cĂłmo la distribuye entre sus miembros desde un punto de vista macroeconĂłmico.
En contraposiciĂłn a otros agregados que miden la producciĂłn de una economĂa, el PIB es:
El PIB es la medida preferida de evaluaciĂłn de la renta nacional, puesto que comprende los bienes a disposiciĂłn de los habitantes del territorio (interior), sin esperar a tener en cuenta las amortizaciones de los bienes de capital (bruto).
Usualmente el PIB se mide a precios de mercado. Esto significa que el precio de los bienes incluye incrementos de precios por impuestos sobre los bienes (p.e. el Impuesto de Valor Añadido) y decrementos por subvenciones.
El PIB, como el resto de agregados de renta nacional, puede calcularse de tres maneras:
Los tres enfoques dan el mismo valor de PIB, y su anĂĄlisis permite obtener informaciĂłn complementaria sobre la generaciĂłn y distribuciĂłn de rentas de un paĂs.
El Instituto Nacional de EstadĂstica (INE) provee valores del PIB a precios de mercado trimestralmente, asĂ como de agregados para su cĂĄlculo desde los tres enfoques. Los datos de PIB incorporados a ESdata se han obtenido de las tablas de https://www.ine.es/dynt3/inebase/es/index.htm?padre=5614&capsel=5615. El informe metodolĂłgico estandarizado se encuenta en https://www.ine.es/dynt3/metadatos/es/RespuestaDatos.html?oe=30024.
Si cree que ESdata no recoge informaciĂłn del PIB que podrĂa ser de su interĂ©s, puede indicarlo en: https://github.com/jmsallan/ESdata
En la tabla siguiente se muestran los agregados que reporta el INE para el cålculo del PIB a través de la demanda agregada. Este enfoque nos permite evaluar cómo evoluciona:
| agr_label | agregado |
|---|---|
| pib | Producto interior bruto a precios de mercado |
| dn | Demanda nacional |
| dn_01_C | Gasto en consumo final |
| dn_011_C | Gasto en consumo final de los hogares y las ISFLSH |
| dn_0111_C | Gasto en consumo final de los hogares |
| dn_01111_C | Gasto en consumo final interior de los hogares |
| dn_011111_C | Gasto en consumo final interior de los hogares. Bienes duraderos |
| dn_011112_C | Gasto en consumo final interior de los hogares. Otros bienes |
| dn_0112_C | Gasto en consumo final de las ISFLSH |
| dn_012_C | Gasto en consumo final de las AAPP |
| dn_0121_C | Gasto en consumo final individual de las AAPP |
| dn_0122_C | Gasto en consumo final colectivo de las AAPP |
| dn_013_C | Consumo final individual efectivo |
| dn_02_FBC | FormaciĂłn bruta de capital |
| dn_021_FBC | FormaciĂłn bruta de capital fijo (FBCF) |
| dn_0211_FBC | FBCF. Activos fijos materiales |
| dn_02111_FBC | FBCF. Activos fijos materiales. ConstrucciĂłn |
| dn_021111_FBC | FBCF. Activos fijos materiales. ConstrucciĂłn. Viviendas |
| dn_021112_FBC | FBCF. Activos fijos materiales. ConstrucciĂłn. Otros edificios y construcciones |
| dn_02112_FBC | FBCF. Activos fijos materiales. Maquinaria, bienes de equipo y sistemas de armamento |
| dn_021121_FBC | FBCF. Activos fijos materiales. Maquinaria, bienes de equipo y sistemas de armamento. Material de transporte |
| dn_021122_FBC | FBCF. Activos fijos materiales. Maquinaria, bienes de equipo y sistemas de armamento. Otros |
| dn_02113_FBC | FBCF. Activos fijos materiales.Recursos biolĂłgicos cultivados |
| dn_0212_FBC | FBCF. Activos fijos inmateriales. Productos de la propiedad intelectual |
| dn_022_FBC | VariaciĂłn de existencias y adquisiciones menos cesiones de objetos valiosos |
| dn_0221_FBC | VariaciĂłn de existencias |
| dn_0222_FBC | Adquisiciones menos cesiones de objetos valiosos |
| dn_03_XM | Demanda externa |
| dn_031_XM | Exportaciones de bienes y servicios |
| dn_0311_XM | Exportaciones de bienes |
| dn_0312_XM | Exportaciones de servicios |
| dn_0313_XM | Exportaciones de servicios. Gasto de los hogares no residentes en el territorio econĂłmico |
| dn_032_XM | Importaciones de bienes y servicios |
| dn_0321_XM | Importaciones de bienes |
| dn_0322_XM | Importaciones de servicios |
| dn_0323_XM | Importaciones de servicios. Gasto de los hogares residentes en el resto del mundo |
En la tabla siguiente se muestran los agregados que reporta el INE para el cålculo del PIB a través de la oferta agregada. Este enfoque nos permite evaluar cómo contribuyen las diversas actividades económicas a la producción total.
| agr_label | agregado |
|---|---|
| pib | Producto interior bruto a precios de mercado |
| vab_A | VABpb Agricultura, ganaderĂa, silvicultura y pesca (A, CNAE 2009) |
| vab_BE | VABpb Industria (B-E, CNAE 2009) |
| vab_C | VABpb Industria. Industria manufacturera (C, CNAE 2009) |
| vab_F | VABpb ConstrucciĂłn (F, CNAE 2009) |
| vab_GT | VABpb Servicios (G-T, CNAE 2009) |
| vab_GI | VABpb Servicios. Comercio, transporte y hostelerĂa (G-I, CNAE 2009) |
| vab_J | VABpb Servicios. InformaciĂłn y comunicaciones (J, CNAE 2009) |
| vab_K | VABpb Servicios. Actividades financieras y de seguros (K, CNAE 2009) |
| vab_L | VABpb Servicios. Actividades inmobiliarias (L, CNAE 2009) |
| vab_MN | VABpb Servicios. Actividades profesionales, cientĂficas y tĂ©cnicas y otras (M-N, CNAE 2009) |
| vab_OQ | VABpb Servicios. AdministraciĂłn pĂșblica, educaciĂłn y sanidad (O-Q, CNAE 2009) |
| vab_RT | VABpb Servicios. Actividades artĂsticas, recreativas y otros servicios (R-T, CNAE 2009) |
| imp_sub | Impuestos menos subvenciones sobre los productos |
| imp | Impuestos sobre los productos |
| sub | Subvenciones sobre los productos |
En la tabla siguiente se muestran los agregados que reporta el INE para el cålculo del PIB a través de las rentas. Este enfoque permite evaluar cómo se reparte la renta entre el trabajo (salarios) y el capital (beneficios y rentas).
| agr_label | agregado |
|---|---|
| pib | Producto interior bruto a precios de mercado |
| rem | RemuneraciĂłn de los asalariados |
| sal | Sueldos y salarios |
| css | Cotizaciones sociales a cargo de los empleadores |
| rem_A | RemuneraciĂłn de los asalariados. Agricultura, ganaderĂa, silvicultura y pesca (A, CNAE 2009) |
| sal_A | Sueldos y salarios. Agricultura, ganaderĂa, silvicultura y pesca (A, CNAE 2009) |
| css_A | Cotizaciones sociales a cargo de los empleadores. Agricultura, ganaderĂa, silvicultura y pesca (A, CNAE 2009) |
| rem_BE | RemuneraciĂłn de los asalariados. Industria (B-E, CNAE 2009) |
| sal_BE | Sueldos y salarios. Industria (B-E, CNAE 2009) |
| css_BE | Cotizaciones sociales a cargo de los empleadores. Industria (B-E, CNAE 2009) |
| rem_C | RemuneraciĂłn de los asalariados. Industria manufacturera (C, CNAE 2009) |
| sal_C | Sueldos y salarios. Industria manufacturera (C, CNAE 2009) |
| css_C | Cotizaciones sociales a cargo de los empleadores. Industria manufacturera (C, CNAE 2009) |
| rem_F | RemuneraciĂłn de los asalariados. ConstrucciĂłn (F, CNAE 2009) |
| sal_F | Sueldos y salarios. ConstrucciĂłn (F, CNAE 2009) |
| css_F | Cotizaciones sociales a cargo de los empleadores. ConstrucciĂłn (F, CNAE 2009) |
| rem_GT | RemuneraciĂłn de los asalariados. Servicios (G-T, CNAE 2009) |
| sal_GT | Sueldos y salarios. Servicios (G-T, CNAE 2009) |
| css_GT | Cotizaciones sociales a cargo de los empleadores. Servicios (G-T, CNAE 2009) |
| rem_GI | RemuneraciĂłn de los asalariados. Comercio, transporte y hostelerĂa (G-I, CNAE 2009) |
| sal_GI | Sueldos y salarios. Comercio, transporte y hostelerĂa (G-I, CNAE 2009) |
| css_GI | Cotizaciones sociales a cargo de los empleadores. Comercio, transporte y hostelerĂa (G-I, CNAE 2009) |
| rem_J | RemuneraciĂłn de los asalariados. InformaciĂłn y comunicaciones (J, CNAE 2009) |
| sal_J | Sueldos y salarios. InformaciĂłn y comunicaciones (J, CNAE 2009) |
| css_J | Cotizaciones sociales a cargo de los empleadores. InformaciĂłn y comunicaciones (J, CNAE 2009) |
| rem_K | RemuneraciĂłn de los asalariados. Actividades financieras y de seguros (K, CNAE 2009) |
| sal_K | Sueldos y salarios. Actividades financieras y de seguros (K, CNAE 2009) |
| css_K | Cotizaciones sociales a cargo de los empleadores. Actividades financieras y de seguros (K, CNAE 2009) |
| rem_L | RemuneraciĂłn de los asalariados. Actividades inmobiliarias (L, CNAE 2009) |
| sal_L | Sueldos y salarios. Actividades inmobiliarias (L, CNAE 2009) |
| css_L | Cotizaciones sociales a cargo de los empleadores. Actividades inmobiliarias (L, CNAE 2009) |
| rem_MN | RemuneraciĂłn de los asalariados. Actividades profesionales, cientĂficas y tĂ©cnicas y otras (M-N, CNAE 2009) |
| sal_MN | Sueldos y salarios. Actividades profesionales, cientĂficas y tĂ©cnicas y otras (M-N, CNAE 2009) |
| css_MN | Cotizaciones sociales a cargo de los empleadores. Actividades profesionales, cientĂficas y tĂ©cnicas y otras (M-N, CNAE 2009) |
| rem_OQ | RemuneraciĂłn de los asalariados. AdministraciĂłn pĂșblica, educaciĂłn y sanidad (O-Q, CNAE 2009) |
| sal_OQ | Sueldos y salarios. AdministraciĂłn pĂșblica, educaciĂłn y sanidad (O-Q, CNAE 2009) |
| css_OQ | Cotizaciones sociales a cargo de los empleadores. AdministraciĂłn pĂșblica, educaciĂłn y sanidad (O-Q, CNAE 2009) |
| rem_RT | RemuneraciĂłn de los asalariados. Actividades artĂsticas, recreativas y otros servicios (R-T, CNAE 2009) |
| sal_RT | Sueldos y salarios. Actividades artĂsticas, recreativas y otros servicios (R-T, CNAE 2009) |
| css_RT | Cotizaciones sociales a cargo de los empleadores. Actividades artĂsticas, recreativas y otros servicios (R-T, CNAE 2009) |
| ben | Excedente de explotaciĂłn bruto y Renta mixta bruta |
| imp_sub | Impuestos menos subvenciones sobre la producciĂłn y las importaciones |
| imp | Impuestos sobre la producciĂłn y las importaciones |
| sub | Subvenciones sobre la producciĂłn y las importaciones |
La informaciĂłn sobre el PIB en ESdata se presenta en tablas separadas para cada uno de los enfoques del PIB. Los tres enfoques tienen una tabla para los agregados que he presentado en la secciĂłn anterior y otra para los datos:
| enfoque | agregados | datos |
|---|---|---|
| demanda |
pib_demanda_agregados
|
pib_pm_demanda
|
| oferta |
pib_oferta_agregados
|
pib_pm_oferta
|
| rentas |
pib_rentas_agregados
|
pib_pm_rentas
|
Las variables de cada una de las tablas de datos son:
| datos | periodo | agregado | ajuste | tipo | dato | valor |
|---|---|---|---|---|---|---|
pib_pm_demanda
|
â | â | â | â | â | â |
pib_pm_oferta
|
â | â | â | â | â | â |
pib_pm_rentas
|
â | â | â | â | â |
El contenido de las variables es:
periodo: el Ășltimo dĂa del trimestre del dato correspondiente a la fila, en formato de fecha Date.agregado correspondiente a cada una de las filas.ajuste de cada fila: ajustado para datos ajustados a estacionalidad y calendario, o no_ajustado.tipo de dato: o valor o `indiceâ.dato, que puede ser base, variaciĂłn trimestral var_trim, variaciĂłn anual var_anual, aportaciĂłn trimestral ap_trim o aportaciĂłn anual ap_anual.valor, en Ăndice o en millones de euros. Para el enfoque de rentas no estĂĄn disponibles datos en Ăndice.Puede obtenerse gran nĂșmero de visualizaciones y tablas con los datos incorporados al paquete. En cada caso hay que hacer el filtrado previo que nos permite obtener los datos requeridos. En esta secciĂłn presentaremos algunos ejemplos de visualizaciones de los datos de PIB.
En este grĂĄfico vemos la diferencia entre el PIB no ajustado y el ajustado. Podemos ver que para evaluar la evoluciĂłn del PIB es conveniente ver el ajustado.
pib_pm_demanda %>%
filter(agregado == "pib" & tipo == "indice" & dato == "base") %>%
ggplot(aes(periodo, valor, group=ajuste)) +
geom_line(aes(linetype=ajuste)) +
scale_linetype_manual(values = c("solid", "dotted"), labels = c("ajustado", "no ajustado")) +
labs(title="Ăndice de PIB ajustado y no ajustado", x="", y="Ăndice PIB") +
theme_bw() +
theme(legend.position = "bottom")
El grĂĄfico muestra tambiĂ©n cĂłmo usar ggplot para diferenciar series por tipo de lĂnea.
En este grĂĄfico, mostramos el impacto del COVID-19 en el crecimiento econĂłmico usando las variaciones anuales y trimestrales.
library(lubridate)
pib_pm_demanda %>%
filter(agregado == "pib" & ajuste == "ajustado" & tipo == "valor" & dato %in% c("var_anual", "var_trim")) %>%
filter(year(periodo) > 2017) %>%
mutate(valor = valor/100) %>%
ggplot(aes(periodo, valor, col=dato)) +
geom_point() +
geom_line() +
labs(title = "Impacto del COVID-19 en el IPC", x="", y="variaciĂłn") +
scale_color_brewer(name = "variaciĂłn", labels = c("anual", "trimestral"), palette = "PuOr") +
scale_y_continuous(labels = scales::percent) +
theme_dark() +
theme(legend.position = "bottom")
El grĂĄfico muestra los siguientes recursos:
year de lubridate para seleccionar datos a partir de 2017.scale_y_continuous.theme_dark para presentaciones en pantalla.Con pib_pm_rentas podemos evaluar cómo evoluciona la distribución de la renta. Para ello hemos de tener en cuenta que el PIB es igual a las remuneraciones, mås los beneficios. Como estamos evaluando el PIB a precios de mercado, hemos de añadir también impuestos y subvenciones.
\[ \text{pib} = \text{rem} + \text{ben} + \text{imp_sub} \]
En los agregados de rentas vemos que las remuneraciones incluyen los salarios y las cotizaciones empresariales a la Seguridad Social.
\[ \text{rem} = \text{sal} + \text{css} \]
Usaremos la primera ecuaciĂłn para encontrar el peso de los sueldos, los beneficios y los impuestos indirectos netos en el PIB a precios de mercado:
pib_pm_rentas %>% filter(agregado %in% c("pib", "rem", "ben", "imp_sub") & dato == "base" & ajuste == "ajustado") %>%
pivot_wider(names_from = "agregado", values_from = "valor") %>%
mutate(pr_rem = rem/pib, pr_ben = ben/pib, pr_imp = imp_sub/pib) %>%
select(periodo, pr_rem, pr_ben, pr_imp) %>%
pivot_longer(cols = -periodo, names_to = "dato", values_to = "valor")
## # A tibble: 309 x 3
## periodo dato valor
## <date> <chr> <dbl>
## 1 2020-09-30 pr_rem 0.475
## 2 2020-09-30 pr_ben 0.436
## 3 2020-09-30 pr_imp 0.0893
## 4 2020-06-30 pr_rem 0.498
## 5 2020-06-30 pr_ben 0.436
## 6 2020-06-30 pr_imp 0.0661
## 7 2020-01-31 pr_rem 0.482
## 8 2020-01-31 pr_ben 0.416
## 9 2020-01-31 pr_imp 0.102
## 10 2019-12-31 pr_rem 0.459
## # ⊠with 299 more rows
Luego haremos un grĂĄfico con geom_area para ver cĂłmo evolucionan las variables. El uso de mutate es para cambiar el orden de los niveles del factor de la variable valor:
pib_pm_rentas %>% filter(agregado %in% c("pib", "rem", "ben", "imp_sub") & dato == "base" & ajuste == "ajustado") %>%
pivot_wider(names_from = "agregado", values_from = "valor") %>%
mutate(pr_rem = rem/pib, pr_ben = ben/pib, pr_imp = imp_sub/pib) %>%
select(periodo, pr_rem, pr_ben, pr_imp) %>%
pivot_longer(cols = -periodo, names_to = "dato", values_to = "valor") %>%
mutate(dato = factor(dato, levels = c("pr_ben", "pr_rem", "pr_imp"))) %>%
ggplot(aes(periodo, valor, fill=dato)) +
geom_area() +
scale_fill_brewer(name = "rentas", labels = c("capital", "trabajo", "impuestos - subvenciones")) +
labs(title = "Reparto del PIB entre capital y trabajo", x="", y="") +
scale_y_continuous(labels = scales::percent) +
theme_bw() +
theme(legend.position = "bottom")
En este caso, hemos seleccionado los colores usando la paleta por defecto de scale_fill_brewer.
Los datos pib_pm_oferta permiten evaluar el peso en la economĂa de los diferentes sectores de actividad. En este grĂĄfico vemos cĂłmo ha evolucionado el peso del sector de la construcciĂłn. Ponemos en contexto los datos informando sobre la crisis de 2008.
pib_pm_oferta %>%
filter(agregado %in% c("pib", "vab_F") & ajuste == "ajustado" & tipo == "valor" & dato == "base") %>%
pivot_wider(names_from = agregado, values_from = valor) %>%
mutate(prop = vab_F/pib) %>%
ggplot(aes(periodo, prop)) +
geom_line(size=1.2) +
labs(title="Peso de la construcciĂłn en la economĂa", y="construcciĂłn vs PIB", x="") +
geom_vline(xintercept = as.Date("2008-12-31"), linetype="dashed", size=0.5,col ="#FF0000") +
annotate("text", x=as.Date("2010-06-30"), y=0.12, label="crisis del 2008", hjust="left") +
annotate("curve", x=as.Date("2010-06-15"), y =0.12, xend=as.Date("2008-12-31"), yend=0.11, curvature=0.2, arrow = arrow(length = unit(2, "mm"))) +
scale_y_continuous(labels = scales::percent) +
theme_bw() +
theme(legend.position = "bottom")
AquĂ hemos usado de nuevo las funciones pivot_wider y pivot_longer de tidyr para calcular las proporciĂłn de la construcciĂłn en el PIB.
Los grĂĄficos de lĂnea sirven para evaluar la evoluciĂłn de una magnitud a lo largo del tiempo. El grĂĄfico que hemos presentado muestra la caĂda del peso de la construcciĂłn despuĂ©s de la crisis de 2008. Para ilustrar los valores absolutos de una magnitud es mejor usar un grĂĄfico de barras. AquĂ presentamos el peso de la construcciĂłn en la economĂa, sumando el PIB de los trimestres de cada año.
pib_pm_oferta %>%
filter(agregado %in% c("pib", "vab_F") & ajuste == "ajustado" & tipo == "valor" & dato == "base") %>%
pivot_wider(names_from = agregado, values_from = valor) %>%
mutate(year=year(periodo)) %>%
group_by(year) %>%
summarise(pib=sum(pib), constr=sum(vab_F)) %>%
mutate(prop = constr/pib) %>%
ggplot(aes(year, prop)) +
geom_bar(stat = "Identity", fill="#DC143C") +
labs(title="Peso de la construcciĂłn en la economĂa", y="construcciĂłn vs PIB", x="") +
scale_y_continuous(labels = scales::percent) +
theme_bw() +
theme(legend.position = "bottom")
También podemos comparar el peso de la construcción en el conjunto del PIB con gråficos de barras:
library(lubridate)
pib_pm_oferta %>%
filter(agregado %in% c("pib", "vab_F") & ajuste == "ajustado" & tipo == "valor" & dato == "base") %>%
pivot_wider(names_from = agregado, values_from = valor) %>%
mutate(year=year(periodo)) %>%
group_by(year) %>%
summarise(pib=sum(pib), constr=sum(vab_F)) %>%
pivot_longer(-year, values_to = "valor", names_to = "dato") %>%
ggplot(aes(year, valor, fill=dato)) +
geom_bar(stat = "Identity", position = "dodge") +
labs(title="Evolución del PIB y la construcción", y="millones euros", x="año") +
scale_fill_manual(name="Agregado", labels=c("VAB construcciĂłn", "Total PIB"), values = c("#B22222", "#228B22")) +
theme_bw() +
theme(legend.position = "bottom")
Si tiene alguna propuesta o ha detectado algĂșn error, puede ponerse en contacto conmigo desde: https://github.com/jmsallan/ESdata