Francisco MartĆnez Caballero (frama36@alumni.uv.es)
Jesus Lloret Quero (jelloque@alumni.uv.es)
Vicent Mompo Crespo (momcres@alumni.uv.es).
Universitat de ValĆØnciaTrabajo elaborado para la asignatura āProgramación y manejo de datos en la era del Big Dataā de la Universitat de ValĆØncia durante el curso 2021-2022. El repo del trabajo estĆ” aquĆ.
La pĆ”gina web de la asignatura y los trabajos de mis compaƱeros pueden verse aquĆ.
Para la asignatura de āProgramación y manejo de datos en la era del Big Dataā hemos decidido realizar un ensayo (en formato rmd) de relevancia general que afecta a todos los ciudadanos (especialmente a los agentes con menor poder adquisitivo), como es la inflación.
Resumen: El encarecimiento de los precios de la energĆa, junto la falta de microprocesadores y los estĆmulos monetarios mĆ”s ambiciosos en la historia reciente, estĆ”n ocasionando la aparición de datos de inflación que no se alcanzaban desde la crisis del petróleo de los aƱos 70. En particular, la economĆa europea, y en especial la espaƱola, se encuentran en el peor momento posible para afrontar este desajuste en una de las principales variables macroeconómicas, los precios. Esta circunstancia, estĆ” afectando especialmente a las rentas mĆ”s bajas y generando un problema de desabastecimiento de ciertos productos a escala mundial, en uno de los contextos mĆ”s inciertos del reciente siglo como consecuencia de la evolución de la crisis sanitaria provocada por el COVID-19.
The Abstract: Rising energy prices, together with the lack of microprocessors and the most ambitious monetary stimuli in recent history, are causing the emergence of inflation data that had not been reached since the oil crisis of the 1970s. In particular, The European economy, and especially the Spanish one, is in the worst possible moment to face this imbalance in one of the main macroeconomic variables, prices. This circumstance is especially affecting the lowest incomes and generating a problem of shortages of certain products on a global scale, in one of the most uncertain contexts of the recent century as a consequence of the evolution of the health crisis caused by COVID-19.
Palabras Clave: EnergĆa, Inflación, EspaƱa, Europa, BCE, microprocesadores, precio, precios, gas, precios de la energĆa, expectativa.
La inflación es una de las principales variables macroeconómicas que mayor distorsión de expectativas pueden generar en los agentes económicos. ĀæPor quĆ©? se puede preguntar el lector. Esto es debido a que la fluctuación en precios es un concepto bĆ”sico que todo individuo de una sociedad, independientemente de si dispone de ciertos conocimientos económicos, rĆ”pidamente sabe analizar e interpretar. Este efecto, bajo el supuesto de racionalidad de los agentes que interactĆŗan en la economĆa, ocasiona un cambio en la toma de decisiones. La conclusión es clara, a mayores precios, es decir, a mayor cantidad de unidades monetarias requeridas para la compra de un determinado bien, menor serĆ” la satisfacción que nos da dicho intercambio. Si este efecto lo trasladamos al conjunto de bienes de una economĆa, las conclusiones són las mismas, los agentes económicos (por norma general) dispondremos de menor poder adquisitivo, por lo tanto, seremos mĆ”s pobres.
Consideramos que el tema de estudio de la inflación es un tema actual, que afecta a la mayorĆa de las economĆas desarrolladas y del que no hay un cierto consenso dentro de la comunidad económica sobre sus principales causas y, especialmente, su evolución en el corto/medio plazo.
En el momento que estamos desarrollando este breve artĆculo, la inflación a nivel mundial se encuentra ādisparadaā si la comparamos con la media histórica de los Ćŗltimos 20 aƱos en la gran mayorĆa de economĆas. Por poner en contexto al lector, el pasado octubre la economĆa estadounidense registró una de sus mayores tasas de inflación en los Ćŗltimos 20 aƱos, un 6,2%. Alemania, otra economĆa caracterizada por tener ciertos recelos a presentar datos de inflación elevados, tambiĆ©n registra tasas superiores al 4%. La tónica inflacionista no es un efecto Ćŗnico de la economĆa germana, sinó que se estĆ” observando en la mayorĆa de economĆas que conforman la Unión Europea.
Record eurozone inflation of 4.9% (with core at 2.6%) puts pressure on ECB, by @MAmdorsky
ā Rafael Domenech (@rdomenechv) December 1, 2021
Anxiety grows over central bank policies as consumer prices continue to risehttps://t.co/a3dR9zzvyS pic.twitter.com/U3LJoSRFyt
š Ahora que el IPCA de la zona euro estĆ” en el 4,1% (4,6% en Alemania, 5,5% en EspaƱa), conviene prestar atención a cómo define concretamente el BCE el objetivo de inflación del 2% https://t.co/kyVMyR2DgJ, porque la letra pequeƱa del objetivo cambia e importa.
ā Daniel Fuentes šŖšŗ (@dfuentescastro) October 30, 2021
š§ Veamos...
1/n pic.twitter.com/xFcF8XwU0p
This is a fascinating chart:
ā Philipp Heimberger (@heimbergecon) November 25, 2021
the rise in headline inflation over recent months in the ā¬zone is entirely driven by items with high import content (energy, supply-side bottlenecks...). pic.twitter.com/vF55lR0MvU
Las motivaciones que nos ha llevado a la elección de esta tema són varias;
Estudiar este fenómeno tan excepcional en las economĆas europeas, y especialmente en nuestra economĆa domĆ©stica. Desde que empezamos a interesarnos por el mundo de las ciencias económicas no hemos vivido un perĆodo de alta inflación, por tanto, es una circunstancia que nos llama muchĆsimo la atención.
Desarrollar tanto los conocimientos económicos (teóricos y prĆ”cticos) que hemos adquirido en la carrera, como en el curso de R.Studio. Al respecto de este punto, queremos remarcar que nos ha llamado particularmente la atención la gran variedad de grĆ”ficos profesionalizados, como los anteriormente expuestos, que referentes economistas estĆ”n compartiendo para analizar el tema de interĆ©s. Esta es una motivación extra para nuestro artĆculo, tratar de crear grĆ”ficos profesionalizados.
Nuestro principal objetivo es tratar de dar respuesta de cuĆ”les són las principales causas de la inflación y cómo puede afectar al crecimiento de nuestra economĆa en el corto/medio plazo.
Para la realización del trabajo ha sido necesaria la obtención de información procedente de diversas fuentes como por ejemplo el INE y Eurostat.
Para poder utilizar estos datos ha sido necesario modificarlos y adaptarlos antes de emplearlos y hacer grÔficas. Esta adaptación la podemos encontrar dentro del apartado tidy, donde se recogen todas las modificaciones realizadas desde la descarga de un archivo como puede ser xlsx o cvs hasta tener un data frame cargado en el Global Environment.
#Hemos adquirido un dataframe de la inflación por agrupaciones, por ello cargamos el dataframe para poder observarlo en Data y lo convertimos en formato long.
inflacion_agrupaciones <- read_excel("datos/inflacion_agrupaciones.xlsx")
inflacion_agrupaciones <- inflacion_agrupaciones %>% pivot_longer(cols = 3:63, names_to = "date")
#Una vez lo hemos hecho, las variables data y value estaban en formato character, por ello hemos tenido que exportar este documento y cambiar estas variables a fomato numérico manualmente, obteniendo asà el data frame inflacion_agrup. Una vez hecho esto podemos cargar directamente.
inflacion_agrup <- inflacion_agrupaciones
#rio::export(inflacion_agrup, "./datos/inflacion_agrup.csv")
inflacion_agrup <- read_csv("datos/inflacion_agrup.csv",
col_types = cols(date = col_date(format = "%Y"),
value = col_number()))
#DATOS PARA LOS PAISES.
#Hemos realizado los pasos anteriores pero esta vez aplicandolos al dataframe que contienen los paises, obteniendo un nuevo dataframe inflacion_country que podemos cargar directamente.
inflacion_paises <- read_excel("datos/inflacion_paises.xlsx")
inflacion_paises <- inflacion_paises %>% pivot_longer(cols = 4:64, names_to = "date")
inflacion_paises$code<-tolower(countrycode(inflacion_paises$country_name,origin = 'country.name', destination = 'iso2c'))
#Una vez lo hemos hecho, las variables data y value estaban en formato character, por ello hemos tenido que exportar este documento y cambiar estas variables a fomato numérico manualmente, obteniendo asà el data frame inflacion_country. Una vez hecho esto podemos cargar directamente.
inflacion_country <- inflacion_paises
#rio::export(inflacion_country, "./datos/inflacion_country.csv")
inflacion_country <- read_csv("datos/inflacion_country.csv",
col_types = cols(date = col_date(format = "%Y"),
value = col_number()))
#DATOS PARA LA CREACIĆN DE MAPAS
#En este paso hemos jutado el dataframe world con el anterior para poder importarle las geometrias y poder hacer mapas.
world <- rnaturalearth::ne_countries(scale = "medium", returnclass = "sf")
world <- world %>% filter(subregion != "Antarctica") %>% filter(admin != "Greenland")
world <- world %>% dplyr::select(name, iso_a3, geometry)
inflacion_geom <- full_join(inflacion_country, world, by = c("country-code" = "iso_a3"))
# Para poder realizar un treemap hemos adquirdo datos sobre la evolución de varios componentes y los hemos tratado de la siguiente forma
contribucion <- read_excel("datos/contribucion.xls")
contribucion <- contribucion %>% pivot_longer(cols = 2:23, names_to = "date")
#rio::export(contribucion, "./datos/contribucion.csv")
contribucion <- read_csv("datos/contribucion.csv",
col_types = cols(date = col_date(format = "%Y/%m")))
# Alguna mierda que hagamos con estos datos
prc_hicp_manr <- read_excel("datos/prc_hicp_manr.xls")
prc_hicp_manr <- prc_hicp_manr %>% pivot_longer(cols = 2:35, names_to = "date")
prc_hicp_manr <- prc_hicp_manr %>% rename(country = `GEO/TIME`)
# rio::export(prc_hicp_manr, "./datos/prc_hicp_manr.csv")
prc_hicp_manr <- read_csv("datos/prc_hicp_manr.csv",
col_types = cols(date = col_date(format = "%Y/%m")))
inflacion_europea <- read_excel("datos/inflacion_europea.xlsx")
inflacion_europea <- inflacion_europea %>% pivot_longer(cols = 2:35, names_to = "date")
inflacion_europea <- inflacion_europea %>% rename(country = `GEO/TIME`)
#rio::export(inflacion_europea, "./datos/inflacion_europea.csv")
inflacion_europea <- read_csv("datos/inflacion_europea.csv",
col_types = cols(date = col_date(format = "%Y/%m")))
library(tidyverse)
world <- rnaturalearth::ne_countries(scale = "medium", returnclass = "sf")
world <- world %>% filter(subregion != "Antarctica") %>% filter(admin != "Greenland")
world <- world %>% dplyr::select(name, iso_a3, geometry)
inflacion_geom_europ <- left_join(inflacion_europea, world, by = c("country" = "name")) %>%
filter(date >= "2020-01-01")
inflacion_eurozona <- read_excel("datos/inflacion_eurozona.xlsx")
inflacion_eurozona <- inflacion_eurozona %>% pivot_longer(cols = 3:14, names_to = "date")
#rio::export(inflacion_eurozona,"./datos/inflacion_eurozona.csv")
inflacion_eurozona <- read_csv("datos/inflacion_eurozona.csv",
col_types = cols(date = col_date(format = "%Y/%m")))
inflacion_esp <- read_excel("datos/inflacion_esp.xlsx")
inflacion_esp <- inflacion_esp %>% pivot_longer(cols = 2:23, names_to = "date")
#rio::export(inflacion_esp,"./datos/inflacion_esp.csv")
inflacion_esp <- read_csv("datos/inflacion_esp.csv",
col_types = cols(date = col_date(format = "%Y/%m")))
ponderacion_componentesIPC <- read_excel("datos/ponderacion_componentesIPC.xls")
ponderacion_componentesIPC <- ponderacion_componentesIPC %>% pivot_longer(cols = 2:6, names_to = "date")
#rio::export(ponderacion_componentesIPC,"./datos/ponderacion_componentesIPC.csv")
ponderacion_componentesIPC <- read_csv("datos/ponderacion_componentesIPC.csv",
col_types = cols(date = col_number(),
value = col_number()))
inflacion_coumindades <- read_excel("datos/inflacion_coumindades.xls")
inflacion_coumindades <- inflacion_coumindades %>% pivot_longer(cols = 2:23, names_to = "date")
#rio::export(inflacion_coumindades,"./datos/inflacion_coumindades.csv")
inflacion_comunidades <- read_csv("datos/inflacion_coumindades.csv",
col_types = cols(date = col_date(format = "%Y/%m")))
inflacion_provincias <- read_excel("datos/inflacion_provincias.xls")
inflacion_provincias <- inflacion_provincias %>% pivot_longer(cols = 2:23, names_to = "date")
#rio::export(inflacion_provincias,"./datos/inflacion_provincias.csv")
inflacion_provincias <- read_csv("datos/inflacion_provincias.csv",
col_types = cols(date = col_date(format = "%Y/%m")))
inflacion_var_esp <- read_excel("datos/var_interanual_esp.xlsx")
inflacion_var_esp <- inflacion_var_esp %>% pivot_longer(cols = 2:360, names_to = "date")
#rio::export(inflacion_var_esp,"./datos/inflacion_var_esp.csv")
inflacion_var_esp <- read_csv("datos/inflacion_var_esp.csv",
col_types = cols(date = col_date(format = "%Y/%m")))
#Datos en formato polĆgono para poder eralizar un mapa de coropletas interactivo
shapefile_provincias <- shapefile("shp/Provincias_ETRS89_30N.shp")
#Datos para la realización del grÔfico sobre la predicción
prediccion_inflacion <- read_csv("datos/prediccion_inflacion.csv",
col_types = cols(Value = col_number()))
library(readr)
#my_url <- "https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/data/SDG_17_40/A.PC_GDP.S13.GD.EU27_2020+BE+BG+CZ+DK+DE+EE+IE+EL+ES+FR+HR+IT+CY+LV+LT+LU+HU+MT+NL+AT+PL+PT+RO+SI+SK+FI+SE+IS+NO+CH+UK/?format=SDMX-CSV&startPeriod=2020&endPeriod=2020"
#curl::curl_download(my_url, "./datos/deuda_eu.csv")
df_csv <- rio::import("./datos/deuda_eu.csv")
deuda_eu <- read_csv("./datos/deuda_eu.csv",
col_types = cols(OBS_VALUE = col_number())) %>%
dplyr::select(geo, OBS_VALUE) %>%
mutate(value = OBS_VALUE/100)
# Datos del Banco de españa para tratar de analizar la influencia de la inflación en la población
#Este primero estĆ” relacionado con el porcentaje de activos reales que posee cada percentil de renta
datos_esp_prop <- read_excel("datos/datos_esp_prop.xlsx",
col_types = c("text", "numeric", "numeric",
"numeric", "numeric"))
datos_esp_prop <- datos_esp_prop %>% pivot_longer(cols = 2:5, names_to = "Propiedad")
# Este segundo esta relacionado con la propiedad de activos financieros de cada percentil de renta
datos_esp_inv <- read_excel("datos/datos_esp_inv.xlsx",
col_types = c("text", "numeric", "numeric",
"numeric", "numeric"))
datos_esp_inv <- datos_esp_inv %>% pivot_longer(cols = 2:5, names_to = "Act_real")
# Datos de la OCDE de la prevision del crecimiento del PIB eurozon
crecimiento <- read_csv("datos/crecimiento.csv",
col_types = cols(Value = col_number()))
En primer lugar, un breve repaso histórico acerca de la inflación.
Para la serie histórica analizada se puede observar como la inflación mundial ha experimentado una reducción drÔstica en los últimos 30 años.
#GRAFICO 1
p1 <- inflacion_agrup %>%
filter(country_name == "Mundo") %>%
filter(date >= 1981) %>% filter(series == "subyacente") %>%
dplyr::select(-(series))
p1 <- p1 %>% dplyr::select(-(country_name))
p11 <- inflacion_agrup %>%
filter(country_name == "Mundo") %>%
filter(date >= 1981) %>% filter(series == "general") %>%
dplyr::select(-(series))
p11 <- p11 %>% dplyr::select(-(country_name))
subyacente <- xts(p1$value, order.by = p1$date, frequency = 365)
general <- xts(p11$value, order.by = p11$date, frequency = 365)
p <- cbind(subyacente,general)
dygraph(p, ylab= "% inflación",
main = "Evolución Inflación") %>%
dyOptions(colors = c("blue", "brownw")) %>%
dyRangeSelector()
ĀæA quĆ© se debe esta reducción generalizada para todas las economĆas ?
Especialmente a los beneficios de la globalización sobre el crecimiento económico : La globalización ha generado un efecto escala, que se deriva del mayor tamaño de mercado. Este mayor tamaño de mercado incentiva a las empresas a crecer y a adquirir mayores conocimientos, lo cual aumenta la productividad agregada y, con ello, se produce un aumento de la oferta agregada a nivel mundial. A todo esto le tenemos que sumar la importancia del avance tecnológico en las últimas décadas.
Si desagregamos, se puede confirmar lo anteriormente mencionado, aunque las economĆas tienen un ajuste diferente todas llegan al mismo destino, a una inflación caracterizada por tasas de crecimiento estables.
inflacion_g9 <- inflacion_country %>% mutate(paises = country_name) %>% filter(country_name %in% c("United States","China", "Japan", "Germany", "United Kingdom", "India","France","Italy", "Korea, Rep.")) %>% filter(`Series Name` == "general")
inflacion_g9 <- ggplot(inflacion_g9, aes(x=date, y=value)) +
geom_line(data=inflacion_g9 %>% dplyr::select(-country_name), aes(group=paises), color="grey", size=0.5, alpha=1) +
geom_line( aes(color=country_name), color="#69b3a2", size=1.2 )+
scale_color_viridis(discrete = TRUE) +
theme_ipsum() +
theme(
legend.position="none",
plot.title = element_text(size=14),
panel.grid = element_blank()) +
facet_wrap(~country_name) + theme(plot.subtitle = element_text(family = "serif"),
plot.caption = element_text(family = "serif"),
axis.title = element_text(family = "serif"),
plot.title = element_text(family = "serif")) +
labs(
caption = "Fuente: Elaboración propia con datos del Banco Mundial") +
labs(x = NULL, y = "Valores en %")
Desde que abandonamos el patrón oro, la mayorĆa de las economĆas han adoptado por un incremento sostenido y controlado de precios para fomentar su crecimiento. Aunque no vamos a entrar a valorar, ya que darĆa para otro artĆculo la efectividad de esta estrategia, desde la crisis del petróleo de los aƱos 70 la economĆa mundial se ha caracterizado por una estabilidad de precios, al menos, con lo que respecta a las economĆas del G-20. Ejemplo de este razonamiento lo tenemos en la confianza que el mercado de divisas tiene en las monedas de dicha agrupación (G-20), divisas como el dólar o el euro se han instaurado como activos āsegurosā. Toda esta ārelativa estabilidadā ha seguido mejorando la confianza internacional a la hora de desarrollar y profundizar en el comercio internacional, potenciando los beneficios anteriormente descritos sobre el conjunto de la economĆa.
inflacion_barras <- read_excel("datos/inflacion_barras.xlsx",
col_types = c("text", "text", "text",
"numeric", "numeric", "numeric",
"text", "numeric")) %>%
dplyr::select(-(nada))
inflacion_barras <- inflacion_barras %>%
group_by(date) %>%
arrange(date, desc(acumulada)) %>%
mutate(ranking = row_number()) %>%
filter(ranking <=9) %>%
ungroup()
tabla_1 <- ggplot(inflacion_barras, aes(ranking, acumulada, country = code, size = 20)) +
geom_col(aes(ranking, acumulada, fill = country_name)) +
scale_fill_brewer(palette = "Spectral") +
geom_flag(aes(ranking, acumulada, country = code), size = 10) +
geom_text(aes(ranking, acumulada, label = as.factor(acumulada), size = 40), hjust= -0.5) +
geom_text(aes(x=9, y=600, label = as.factor(date)), vjust = 0.2, alpha = 0.5, col = "gray", size = 15) +
scale_x_reverse() +
coord_flip(clip = "off", expand = FALSE) +
theme_light() +
theme(
panel.grid = element_blank(),
legend.position = "none",
axis.ticks.y = element_blank(),
axis.title.y = element_blank(),
axis.text.y = element_blank()) +
lims(y = c(NA,700)) + theme(axis.line = element_line(colour = NA),
axis.ticks = element_line(colour = NA),
panel.grid.major = element_line(colour = NA),
panel.grid.minor = element_line(colour = NA),
axis.text = element_text(colour = NA),
plot.background = element_rect(colour = NA)) +labs(x = NULL, y = NULL)+
labs(title = "Acumulación historica de la inflación",
subtitle = "Inflación general desde 1971 hasta 2020.",
caption = "Fuente: Elaboración propia con datos del Banco Mundial") +
transition_states(as.factor(date),transition_length = 1, state_length = 0, wrap = FALSE)
tabla_1 <- tabla_1 + theme(legend.position = "none")
#gganimate::animate(tabla_1, nframes = 650, fps = 30)
Si ampliamos el foco (vĆ©ase mapa mundi y tablas) no todas las economĆas han contribuido en la misma proporción al crecimiento sostenido en precios, aunque a nivel agregado la tendencia es a una reducción de la tasa de crecimiento de los precios hasta estabilizarse en valores ārazonablesā desde una perspectiva actual (vĆ©ase punto 4.4).
Como se puede apreciar, las economĆas menos desarrolladas, disponen de mayores tasas de crecimiento en precios, esto se puede a diversidad de factores que no vamos a entrar a analizar, simplemente para hacer saber al lector que no en todos los paĆses del mundo se ha instaurado la estabilidad en precios. Es por eso que no los tendremos en cuenta a la hora de analizar el problema actual, ya que són economĆas que per se, disponen de tasas de inflación mucho mĆ”s elevadas que las economĆas donde la estabilidad en precios si ha sido en la historia mĆ”s reciente un autĆ©ntico Ć©xito. Dicho lo cual, para analizar este problema nos vamos a centrar en el contexto europeo y en especial, en el contexto espaƱol. Por variedad de razones;
Son economĆas que comparten polĆtica monetaria y moneda comĆŗn, hecho que facilita el anĆ”lisis.
Son economĆas similares, donde su estudio nos puede facilitar la comparación.
Son el economĆas que cumplen los requisitos establecido para nuestro anĆ”lisis (ruptura de la tendencia en estabilidad relativa en precios).
library(lubridate)
inflacion_geom_2 <- inflacion_geom %>% filter(`Series Name` == "general") %>%
mutate(anyo = lubridate::year(date)) %>%
group_by(date) %>%
filter(anyo >= 2000) %>%
mutate(deciles = ntile(value, n = 10))
mapa <- ggplot() +
geom_sf(data = inflacion_geom_2, aes(geometry = geometry, fill = deciles)) +
theme_void() +
theme(plot.subtitle = element_text(family = "serif", face = "italic"),
plot.title = element_text(family = "serif", face = "italic")) +
labs(title = "Mapa:Inflación mundial", fill = "Inflación") +
scale_fill_continuous(low="#fffcbf",high="#3e9851") +
transition_manual(anyo)+
labs(title = "AƱo: {current_frame}",
caption = "Fuente: Elaboración propia con datos del Banco Mundial")
# gganimate::animate(mapa, nframes= 100, fps= 4, end_pause = 5)
Note el lector, que para el anĆ”lisis de dicho problema, tambiĆ©n se podrĆa haber estudiado la economĆa norteamericana y haber extraĆdo conclusiones similares.
inflacion_country_sub <- inflacion_country %>%
filter(`Series Name` == "subyacente")
inflacion_country_gen <- inflacion_country %>%
filter(`Series Name` == "general")
tabla_mundo <- left_join(inflacion_country_sub, inflacion_country_gen, by = c("country-code" = "country-code", "date" = "date"))
tabla_mundo <- tabla_mundo %>%
dplyr::select(country_name.x, date, value.x, value.y) %>%
dplyr::rename(country = country_name.x, subyacente_1 = value.x, general_1 = value.y) %>% filter(country != "Afghanistan") %>%
filter(country != "Albania")
tabla_mundo <- tabla_mundo %>%
mutate(subyacente = round(subyacente_1, digits = 2)) %>%
mutate(general = round(general_1, digits = 2)) %>%
dplyr::select(-c(subyacente_1, general_1))
datatable(tabla_mundo, class ="stripe hover compact row-border" , filter = 'top')
Aquà el lector puede apreciar lo anteriormente expuesto, y consultar en caso de que resulte de su interes la evolución histórica para cada zona geogrÔfica.
america_latina <- inflacion_agrup %>% filter(series == "general") %>%
filter(country_name %in% c("AmƩrica Latina y el Caribe", "Mundo")) %>% filter( date >= 1971)
america_latina <- ggplot() +
geom_line(data = america_latina, aes(date, value, color = country_name), size=1) +
scale_color_viridis(discrete = TRUE) +
theme(
legend.position="none",
plot.title = element_text(size=14)
) +
ggtitle("Inflacion mundial") +
theme_ipsum() + theme(plot.subtitle = element_text(family = "serif"),
plot.caption = element_text(family = "serif"),
axis.title = element_text(family = "serif"),
plot.title = element_text(family = "serif")) +labs(title = "Grafica 3: America latina vs Mundo", subtitle = "(Inflación general)",
x = NULL, y = "Valores en %") + theme(legend.text = element_text(size = 12),
legend.position = "bottom", legend.direction = "horizontal") +labs(colour = NULL, caption = "Fuente: Elaboración propia con datos del Banco Mundial")
america_latina
america_norte <- inflacion_agrup %>% filter(series == "general") %>%
filter(country_name %in% c ("AmƩrica del Norte", "Mundo")) %>% filter( date >= 1971)
america_norte <- ggplot() +
geom_line(data = america_norte, aes(date, value, color = country_name), size=1) +
scale_color_viridis(discrete = TRUE) +
theme(
legend.position="none",
plot.title = element_text(size=14)
) +
ggtitle("Inflacion mundial") +
theme_ipsum() + theme(plot.subtitle = element_text(family = "serif"),
plot.caption = element_text(family = "serif"),
axis.title = element_text(family = "serif"),
plot.title = element_text(family = "serif")) +labs(title = "Grafica 3: America del Norte vs Mundo", subtitle = "(Inflación general)",
x = NULL, y = "Valores en %") + theme(legend.text = element_text(size = 12),
legend.position = "bottom", legend.direction = "horizontal") +labs(colour = NULL, caption = "Fuente: Elaboración propia con datos del Banco Mundial")
america_norte
union_europea <- inflacion_agrup %>% filter(series == "general") %>%
filter(country_name %in% c("Unión Europea", "Mundo")) %>% filter(date >= 1971)
union_europea <- ggplot() +
geom_line(data = union_europea, aes(date, value, color = country_name), size=1) +
scale_color_viridis(discrete = TRUE) +
theme(
legend.position="none",
plot.title = element_text(size=14)
) +
ggtitle("Inflacion mundial") +
theme_ipsum() + theme(plot.subtitle = element_text(family = "serif"),
plot.caption = element_text(family = "serif"),
axis.title = element_text(family = "serif"),
plot.title = element_text(family = "serif")) +labs(title = "Grafica 3: Union Europea vs Mundo", subtitle = "(Inflación general)",
x = NULL, y = "Valores en %") + theme(legend.text = element_text(size = 12),
legend.position = "bottom", legend.direction = "horizontal") +labs(colour = NULL, caption = "Fuente: Elaboración propia con datos del Banco Mundial")
union_europea
africa_sahara <- inflacion_agrup %>% filter(series == "general") %>%
filter(country_name %in% c("Ćfrica al sur del Sahara", "Mundo")) %>% filter( date >= 1971)
africa_sahara <- ggplot(africa_sahara, aes(date, value, color=country_name)) +
geom_line(size=1) +
scale_color_viridis(discrete = TRUE) +
theme(
legend.position="none",
plot.title = element_text(size=14)
) +
ggtitle("Inflacion mundial") +
theme_ipsum() + theme(plot.subtitle = element_text(family = "serif"),
plot.caption = element_text(family = "serif"),
axis.title = element_text(family = "serif"),
plot.title = element_text(family = "serif")) +labs(title = "Grafica 3: Africa Subsahariana vs Mundo", subtitle = "(Inflación general)",
x = NULL, y = "Valores en %") + theme(legend.text = element_text(size = 12),
legend.position = "bottom", legend.direction = "horizontal") +labs(colour = NULL, caption = "Fuente: Elaboración propia con datos del Banco Mundial")
africa_sahara
asia_pacifico <- inflacion_agrup %>% filter(series == "general") %>%
filter(country_name %in% c("Asia oriental y el PacĆfico", "Mundo")) %>% filter( date >= 1971)
asia_pacifico <- ggplot(asia_pacifico, aes(date, value, color=country_name)) +
geom_line(size=1) +
scale_color_viridis(discrete = TRUE) +
theme(
legend.position="none",
plot.title = element_text(size=14)
) +
ggtitle("Inflacion mundial") +
theme_ipsum() + theme(plot.subtitle = element_text(family = "serif"),
plot.caption = element_text(family = "serif"),
axis.title = element_text(family = "serif"),
plot.title = element_text(family = "serif")) +labs(title = "Grafica 3:Asia y el Pacifico vs Mundo", subtitle = "(Inflación general)",
x = NULL, y = "Valores en %") + theme(legend.text = element_text(size = 12),
legend.position = "bottom", legend.direction = "horizontal") +labs(colour = NULL, caption = "Fuente: Elaboración propia con datos del Banco Mundial")
asia_pacifico
Las excepciones anteriormente mencionadas, valores que pueden ser considerados como āoutliersā, en nuestro estudio. No tiene ningun sentido estudiar el problema inflacionista actual en economias que históricamente presentan distorsiones estructurales en la variable estudio.
library(patchwork)
inflacion_country_2 <- inflacion_country %>% mutate(anyo =lubridate::year(date))
inflacion_country_top <- inflacion_country_2 %>%
filter(`Series Name` == "general") %>%
filter(anyo == 2020) %>%
mutate(valor = round(value, digits = 2)) %>%
mutate(simbolo = "+") %>%
mutate(simbolo2 = "%") %>%
slice_max(value, n=5)
deflacion_country_min <- inflacion_country_2 %>% filter(`Series Name` == "general") %>%
filter( anyo == 2020) %>%
mutate(valor = round(value, digits = 2)) %>%
slice_min(value, n = 5)
p2 <- ggplot( inflacion_country_top, aes( reorder(country_name, value), value, fill = country_name, country=code, width = 0.5 ))+
geom_bar( stat = "identity") +
scale_fill_brewer(palette = "Spectral") +
geom_flag( y= -18, size=15 ) +
coord_flip() +
geom_text( aes(label= simbolo),
hjust = -0.4, size = 5,
position = position_dodge(width = 1),
inherit.aes = TRUE) +
geom_text( aes(label = valor),
hjust = -0.4, size = 5,
inherit. = TRUE) +
theme(aspect.ratio = 0.5) +
lims(y= c(NA,700)) + theme(axis.text = element_text(size = 11,
face = "bold"), axis.text.x = element_text(size = 0,
colour = "white")) +labs(x = "Valores expresado en %", y = NULL) + theme(panel.background = element_rect(fill = NA)) + theme(plot.subtitle = element_text(size = 14),
axis.text.x = element_text(vjust = 0),
plot.title = element_text(size = 15,
face = "bold")) +labs(title = "Diferencias entre los extremos",
subtitle = "Paises con mayor inflación y deflación general en 2020") +
theme(axis.line = element_line(colour = NA),
axis.ticks = element_line(colour = NA)) + theme(legend.position = "none")
p3 <- ggplot(deflacion_country_min, aes(reorder(country_name, value), value, fill = country_name, country=code))+
geom_bar(stat = "identity") +
geom_flag(y = 2, size = 15) +
scale_fill_brewer(palette = "Greens") +
geom_text( aes(label = valor),
vjust = 1.2, size = 5,
inherit. = TRUE) +
geom_text( aes(label = country_name),
vjust = -2, size = 5,
inherit. = TRUE) +
lims(y= c(-31,4)) +
theme(plot.subtitle = element_text(size = 14,
face = "bold"), axis.line = element_line(colour = NA),
axis.ticks = element_line(colour = NA),
axis.text = element_text(colour = NA),
panel.background = element_rect(fill = NA),
plot.background = element_rect(colour = NA)) +labs( x= NULL, y = NULL, caption = "Fuente: Elaboración propia con datos del Banco Mundial.") + theme(legend.position = "none")
p2 + inset_element(p3, left = 0.3, right = 1, bottom = -0.2, top = 0.8)
En resumen y la conslusión que queremos remarcar antes de entrar en materia, es que en los últimos 30 años se ha acelerado el proceso de especialización productiva (si no tenemos en cuenta las excepciones), reduciendo los costes de producción y fomentando el avance tecnológico. Todo esto se traduce en una reducción de los precios de los bienes y servicios que se comercian a nivel internacional, mejorando la calidad de vida de los agentes económicos.
El fenómeno anteriormente descrito (reducción mundial de los datos de inflación) tambiĆ©n se ha hecho visible en el viejo continente. En los Ćŗltimos aƱos, casi toda eurozona, se habĆa acostumbrado a que los precios altos dejarĆ”n de ser un dolor de cabeza. MĆ”s aĆŗn, cuando, a diferencia de otras economĆas como bien puede ser la estadounidense, el BCE se ha comprometido, casi desde su creación, a fijar su polĆtica monetaria para asegurar que la inflación se estabilice en su objetivo del 2 % a medio plazo.
Desde finales de verano de 2021, esta tendencia de estabilidad relativa de precios se ha quebrado.
mapa_2 <- ggplot() +
geom_sf(data = inflacion_geom_europ, aes(geometry = geometry, fill = value )) +
theme_void() +
theme(plot.subtitle = element_text(family = "serif", face = "italic"),
plot.title = element_text(family = "serif", face = "italic")) +
labs(title = "Mapa:Inflación mundial", fill = "Inflación") +
scale_fill_continuous(low="#fffcbf",high="#d7372a") +
lims(y =c(35,70)) +
lims(x = c(-20, 40)) + transition_manual(date) +
labs(title = "AƱo: {current_frame}",
caption = "Datos de Eurostat")
gganimate::animate(mapa_2, nframes = 200, fps = 20, end_pause = 6)
El encarecimiento de la energĆa, los cuellos de botella de las cadenas de producción y la estratĆ©gia en polĆtica monetaria adoptada para luchar contra la covid (incremento del flujo monetario en la economĆa) han despertado a la inflación en la mayorĆa de las economĆas.
Si nos centramos en el contexto europeo, la principal causa de inflación es clara (grĆ”fico aportación componentes a la inflación), los precios de la energĆa han experimentado un repunte exponencial en los dos Ćŗltimos trimestres.
Estos altos precios energƩticos deben a se deben a varios factores:
contribucion <- contribucion %>%
filter(date == "2021-10-01") %>%
slice_max (value , n = 20)
componentes_europa <- treemap(contribucion,
index="componente",
vSize="value",
type="index",
title="Aportación componentes a la inflación interanual de Octubre 2021",
palette="Spectral",
border.col=c("white"),
border.lwds=3,
fontface.labels=1,
bg.labels=c("transparent"),
align.labels=c("center", "center"),
overlap.labels=0.5)
La variación interanual del Ćndice de precios de consumo armonizado (IPCA) para la eurozona fue del 4,4% en octubre, en el momento de su publicación, fue la cifra mĆ”s alta en la serie histórica de la oficina europea de estadĆsticas, que arranca en 1997. Este insólito rĆ©cord ha sido batido solo un mes despuĆ©s, con un nuevo mĆ”ximo histórico en el dato de variación interanual de precios de consumo armonizado (IPCA) situĆ”ndose en el 4,9 %, 0,8 p.Ā p.Ā superior al del mes anterior.
Un apunte a destacar, para que el lector pueda formarse una mejor opinión al respecto, es que estos datos sólo representan una media, es decir, como podrĆ” observar mediante la tabla adjunta en el punto 5.4 con los datos de inflación, tendremos economĆas por encima del 4,4% y economĆas por debajo. Alemania, por ejemplo, economĆa siempre sensible a los movimientos de los precios, llega a tener datos de IPC anual del 4,6% para octubre. EspaƱa se queda en el 5,4%. Un solo mes ha bastado para que Eurostat presente nuevos rĆ©cords en los datos de inflación. Alemania incrementa su Ćŗltimo dato en 1,4 puntos para llegar su IPC anual al 6%. BĆ©lgica se sitĆŗa en algo mĆ”s del 7%, y le superan los tres paĆses bĆ”lticos (Lituania, Letonia y Estonia). EspaƱa, por su parte, se queda en el 5,6%. Los Ćŗnicos paĆses de la zona euro en los que podrĆa hablarse de una inflación contenida son Francia (3,4%) y Portugal (2,7%): De todos modos, la gran mayorĆa de economĆas del viejo continente superaron el objetivo establecido en el 2%, anteriormente mencionado.
inflacion_eurozona <- inflacion_eurozona %>% filter( TIME == "European Union - 27 countries (from 2020)")
inflacion_eurozona_sub <- inflacion_eurozona %>% filter(Tipo == "subyacente")
inflacion_eurozona_gen <- inflacion_eurozona %>% filter(Tipo == "general")
europa <- ggplot() +
geom_col(data = inflacion_eurozona_sub, aes(date, value, fill = value), color= "grey", alpha = 0.5) +
scale_fill_continuous(low="#ffffbf",high="#fee08b") +
geom_text(data = inflacion_eurozona_sub, aes(date, value, label = value), y=-0.2 ) +
geom_text(data = inflacion_eurozona_sub, aes(date, value, label = "%"), y=-0.2, hjust = -1 ) +
geom_line(data = inflacion_eurozona_gen, aes(date, value, color = value),size = 1.5) +
scale_color_continuous(low="#3288bd",high="#3288bd") +
geom_text(data = inflacion_eurozona_gen, aes(date, value, label = value), vjust = -2,hjust = 1) +
geom_text(data = inflacion_eurozona_gen, aes(date, value, label = "%"), vjust = -2, hjust = -0.2) +
geom_point(data = inflacion_eurozona_gen, aes(date, value), size = 4, color = "#3288bd") +
geom_hline(yintercept = 2,
size = 1.5,
colour = "#abdda4",
linetype = "dashed") +
annotate(geom = "text",
x= as.Date("2020-11-21"),
y = 2.2,
label = "Objetivo inflacion 2%",
size = 4,
color = "black") +
theme(axis.text.x = element_text(angle = 70, hjust = 1)) +
scale_x_date(date_labels="%b %y",date_breaks ="1 month") +
lims(y= c(-0.3,5)) +
theme(panel.grid.major = element_line(colour = "darkgray",
linetype = "dashed"),
panel.grid.minor = element_line(colour = NA),
panel.background = element_rect(fill = NA),
plot.background = element_rect(colour = NA),
legend.position = "none") +labs(x = NULL, y = "Valores expresados en %") +
theme(panel.grid.major = element_line(colour = NA)) +
theme(legend.position = "right", legend.direction = "horizontal") +
labs(fill = "Subyacente") +
theme(legend.position = c(0.20, 0.8)) +
labs(colour = "General") +
theme(legend.text = element_text(colour = NA),
legend.title = element_text(face = "bold"),
legend.key = element_rect(fill = NA),
legend.background = element_rect(fill = NA))+labs(colour = "General ") +
theme(axis.text = element_text(size = 12,
face = "bold"), axis.text.y = element_text(size = 12)) +
theme(axis.line = element_line(linetype = "solid")) +
theme(axis.line = element_line(linetype = "blank"),
axis.ticks = element_line(colour = NA,
linetype = "blank"), plot.title = element_text(size = 14,
face = "bold"), legend.text = element_text(colour = "black")) +labs(title = "Evolución de la inflación en la Comunidad Europea",
subtitle = "Inclación mensual ", caption = "Fuente: Elaboracón propia con datos de Eurostat") +
theme(axis.ticks = element_line(linetype = "solid"),
axis.text = element_text(colour = NA),
axis.text.x = element_text(colour = "black")) +labs(subtitle = "Inclación mensual (Europa de los 27)") +
labs(y = NULL)
europa
Este problema nos llega en el peor momento posible para toda la eurozona. Aunque si hay economĆas con una buena estructura macroeconómica, otras, como el caso de la espaƱola o la italiana presentan ciertos desajustes que solo han hecho mĆ”s que de agravarse desde la llegada de la Covid-19. Cabe recordar que en la UE, la polĆtica monetaria estĆ” completamente supeditada por el BCE, por tanto las diferentes naciones no gozan de autonomĆa monetaria. La conclusión es clara, la economĆa estĆ” sufriendo un shock dentro de su camino de recuperación del anterior shock , uno protagonizado por el alza en precios y otro por la paralización económica como consecuencia de la pandemia, por tanto, el problema original, como a continuación expondremos, solo ha hecho que complicar la incierta situación en la que desgraciadamente en los Ćŗltimos aƱos nos desenvolvemos.
library(tidyverse)
library(DT)
inflacion_eurozona <- read_csv("datos/inflacion_eurozona.csv",
col_types = cols(date = col_date(format = "%Y/%m")))
inflacion_eurozona_sub <- inflacion_eurozona %>% filter(Tipo == "subyacente") %>% rename(country = TIME)
inflacion_eurozona_gen <- inflacion_eurozona %>% filter(Tipo == "general") %>% rename(country = TIME)
tabla_inflacion <- left_join(inflacion_eurozona_gen, inflacion_eurozona_sub, by = c("date" = "date", "country" = "country"))
tabla_inflacion <- tabla_inflacion %>%
dplyr::select(country, date, Tipo.x, value.x, Tipo.y, value.y) %>%
dplyr::select(-(c(Tipo.x , Tipo.y))) %>%
rename(general = value.x, subyacente = value.y)
datatable(tabla_inflacion, class ="stripe hover compact row-border" , filter = 'top')
El precio de la luz dispara el IPC hasta el 5,6 %, su tasa mƔs alta en 29 aƱos.
Si nos centramos en el contexto espaƱol, la situación, como ya avanzamos, es tambiĆ©n crĆtica. El Ćŗltimo dato publicado por el Instituto Nacional de EstadĆstica (INE), marca un nuevo pico para la inflación este aƱo (5,6%), su tasa mĆ”s alta en 29 aƱos. Nuestra economĆa domĆ©stica se encuentra en una tendencia alcista desde el pasado marzo. La implicación económica es clara; se estĆ” produciendo un encarecimiento del coste de la vida. Las causas són las mismas que las anteriormente mencionadas para el contexto europeo (altos precios de la electricidad y los combustibles, el repunte del consumo y los problemas en las cadenas de suministro globales, falta de contenedores, escasez de trabajadores, carencia de chipsā¦).
inflacion_esp_gen <- inflacion_esp %>% filter(tipo == "general")
inflacion_esp_sub <- inflacion_esp %>% filter(tipo == "subyacente")
esp <- ggplot() +
geom_line(data = inflacion_esp_gen, aes(date, value, colour = tipo), size = 1.5) +
geom_point(data = inflacion_esp_gen, aes(date, value, colour = tipo, shape = tipo), size = 3) +
geom_text(data = inflacion_esp_gen, aes(date, value, label = value, colour = tipo), vjust = 2.5,hjust = 0.5, size = 3) +
geom_text(data = inflacion_esp_gen, aes(date, value, label = "%", colour = tipo), vjust = 2.5,hjust = -1, size = 3) +
geom_line(data = inflacion_esp_sub, aes(date, value, colour = tipo), size = 1.5) +
geom_point(data = inflacion_esp_sub, aes(date, value, colour = tipo, shape = tipo), size = 3) +
geom_text(data = inflacion_esp_sub, aes(date, value, label = value, colour = tipo), vjust = -1.5,hjust = 0.75, size = 3) +
geom_text(data = inflacion_esp_sub, aes(date, value, label = "%", colour = tipo), vjust = -1.5,hjust = -0.5, size = 3) +
scale_color_manual(breaks = c("general", "subyacente"),
values=c("#00008B", "#00BFFF")) +
geom_hline(yintercept = 0,
size = 0.25,
colour = "black",
linetype = "dashed") +
scale_x_date(date_labels="%b %y",date_breaks = "1 month") +
theme(axis.text.x = element_text(angle = 70, hjust = 1)) +
lims(y= c(-1, 6.5)) +
labs(x = NULL) +
labs(caption = "Fuente: Elaboración propia con datos de INEbase") +
theme(panel.grid.major = element_line(colour = NA)) +
theme(panel.background = element_rect(fill = "transparent")) +
theme(legend.title=element_blank()) +
theme(axis.title.y=element_blank(), axis.text.y=element_blank(),
axis.ticks.y=element_blank()) +
labs(colour = "General") + theme(plot.subtitle = element_text(colour = "gray24"),
panel.grid.major = element_line(colour = "white"),
panel.grid.minor = element_line(colour = "white"),
panel.background = element_rect(colour = "white"),
legend.position = "bottom", legend.background = element_rect(fill = "transparent"),
legend.direction = "horizontal") +
labs(title = "Evolución anual del IPC", subtitle = "Ćndice general y subyacente.") +
guides(shape = FALSE)
#grafico 2
esp_1 <- ggplot() +
geom_line(data = inflacion_var_esp, aes(date, value), colour = "#212F3D", size = 1.5) +
scale_x_date(date_labels="%Y",date_breaks ="5 years") +
geom_hline(yintercept =0,
size = 0.25,
colour = "black") +
annotate("rect",
xmin = as.Date("2020-01-01"),
xmax = as.Date("2022-11-01"),
ymin = -Inf,
ymax = Inf,
alpha = 0.4,
fill = "pink") +
scale_y_continuous(breaks = seq(-1, 6, 1)) +
labs(title = "Variación en los ultimos 30 aƱos.", subtitle = "Ćndice general.") +
theme(axis.line = element_line(size = 0.05,
linetype = "solid"), panel.grid.major = element_line(colour = "gray88",
size = 0.25, linetype = "twodash"), panel.grid.minor = element_line(colour = NA),
axis.text = element_text(face = "italic",
colour = "gray10"), axis.text.x = element_text(colour = "gray10"),
panel.background = element_rect(fill = NA,
colour = "aquamarine4"))+labs(x = NULL, y = NULL)
#esp + inset_element(esp_1, left = 0, right = 0.4, bottom = 0.5, top = 0.9)
En lo que respecta a la ponderación por componentes, como se puede apreciar, el patrón de pesos de cada partida que considera el INE para calcular el IPC no ha experimentado significativos cambios desde 2017. Puede sorprender que la partida de 04, aunque sà ha experimentado un incremento, no es tan marcado como el real, esto se debe simplemente al formato de cÔlculo. Con todo, el gran incremento del grupo 01 compensa las pequeñas bajadas que han experimentado grupos como Ocio y cultura y Restauración y hoteles. Bajadas razonables si tenemos en consideración la situación sanitaria de los últimos 2 años.
componentes <- ggplot(ponderacion_componentesIPC, aes(Componentes, value, fill = as_factor(date)))+
geom_col(position = position_stack(reverse = TRUE)) +
coord_flip() +
scale_fill_brewer(palette = "Spectral") +
theme(panel.grid.major = element_line(colour = NA),
panel.grid.minor = element_line(colour = NA),
axis.text = element_text(face = "bold"),
legend.title = element_text(size = 14,
face = "bold"), panel.background = element_rect(fill = NA),
plot.background = element_rect(colour = NA),
legend.position = "bottom", legend.direction = "horizontal") +
labs(title = "Ponderaciones por grupos IPC",
x = NULL, y = "Unidades: %1000 en base 2016",
fill = NULL, subtitle = "Acumulación por grupos del periodo 2017-2021") +
theme(legend.position = "left", legend.direction = "vertical") +
labs(caption = "Fuente: Elaboracion propia con datos del INE")
componentes <- ggplotly(componentes)
componentes
Si minimizamos el foco de anĆ”lisis y desagregamos por CCAA, podemos observar como todas, exceptuando las islas canarias, disponen de peores datos que la media para la UE_27. Mayores conclusiones podemos extraer si analizamos el problema mediante datos por provincias (vĆ©ase mapa de provincias). Los mayores datos de inflación se encuentran en aquellas provincias caracterizadas por realizar actividades primarias/secundarias. Una explicación razonable se puede deber a la falta de capacidad de estos sectores para trasladar todo el sobrecoste adicional de los precios de la electricidad y materias primas a los siguientes eslabones en la cadena de valor. Aunque consideramos que puede ser un tema muy interesante, no vamos a entrar a estudiar en profundidad estos subtemas que surgen en nuestro artĆculo, ya que nos estamos a centrando mĆ”s en el estudio de la inflación a mayor escala, peró sĆ nos parece relevante al menos presentar los datos desagregados para observar en quĆ© zonas geogrĆ”ficas de EspaƱa, la pĆ©rdida de poder adquisitivo de las familias es mĆ”s acusada.
comunidades <- inflacion_comunidades %>%
filter(date == "2021-10-01") %>%
mutate(id = seq(1:19))
number_of_bar <- nrow(comunidades)
angle <- 90 - 360 * (comunidades$id-0.5) /number_of_bar
comunidades$hjust<-ifelse( angle < -90, 1, 0)
comunidades$angle<-ifelse(angle < -90, angle+180, angle)
p <- ggplot(comunidades, aes( as.factor(id),value, fill=nombre_comunidad)) +
geom_bar(stat="identity") +
scale_fill_manual(breaks = c("AndalucĆa", "Aragón", "Principado de Asturias","Illes Balears","Canarias"," Cantabria","Castilla y León","Castilla - La Mancha","CataluƱa","Comunitat Valenciana","Extremadura","Galicia","Comunidad de Madrid","Región de Murcia","Comunidad Foral de Navarra","PaĆs Vasco","La Rioja","Ceuta","Melilla"),
values=c("#546e7a", "#fb8c00","#1b5e20","#00897b","#f4511e","#689f38","#ffca28","#4dd0e1","#01579b","#bdbdbd","#1a237e","#82b1ff","#5e35b1","#ffff00","#d500f9","#d4e157","#6d4c41","#e57373","#c51162")) +
ylim(-5,7) +
theme_minimal() +
theme(
axis.text = element_blank(),
axis.title = element_blank(),
panel.grid = element_blank(),
plot.margin = unit(rep(-1,4), "cm")) +
coord_polar(start = 0) +
geom_text(data=comunidades, aes(id, value+0.5, label=value, hjust=hjust ), color="black", fontface="bold",alpha=0.6, size=5, angle= comunidades$angle, inherit.aes = FALSE ) + labs(fill = "Comunidades") +
labs(x = NULL, fill = NULL)
p
data_prov <- tidy(shapefile_provincias)
data_prov$group <- as.character(data_prov$group)
nombres_provincias <- read_excel("datos/nombres_provincias.xlsx")
data_provincias_mapa <- left_join(data_prov, nombres_provincias, by = "id") %>% rename(prov = shapefile_provincias.Texto)
inflacion_prov <- read_excel("shp/inflacion_prov.xlsx")
inflacion_prov <- inflacion_prov %>% rename(id2 = id)
mapa_prov <- left_join(inflacion_prov, data_provincias_mapa, by = c("id2" = "id"))
aa <- mapa_prov %>%
ggplot(aes( x= long, y = lat, group = group)) +
geom_polygon(aes(fill=value),
color = "white", size = 0.2) +
labs( title = "Tasa de Riesgo de Pobreza por Comunidades Autónomas",
subtitle = "Unidades: Porcentaje",
caption = "Fuente: INE",
fill = "Tasa (%)") +
theme_minimal() +
theme(
axis.line = element_blank(),
axis.text = element_blank(),
axis.title = element_blank(),
axis.ticks = element_blank(),
plot.background = element_rect(fill = "snow", color = NA),
panel.background = element_rect(fill= "snow", color = NA),
plot.title = element_text(size = 16, hjust = 0),
plot.subtitle = element_text(size = 12, hjust = 0),
plot.caption = element_text(size = 8, hjust = 1),
legend.title = element_text(color = "grey40", size = 8),
legend.text = element_text(color = "grey40", size = 7, hjust = 0),
legend.position = c(0.93, 0.3),
plot.margin = unit(c(0.5,2,0.5,1), "cm")) +
theme_minimal() +
theme(
axis.line = element_blank(),
axis.text = element_blank(),
axis.title = element_blank(),
axis.ticks = element_blank(),
panel.background = element_rect(colour= "darkgrey", size= 0.5)) +
ggtitle("Provincias EspaƱolas")
aa <- ggplotly(aa)
aa
provincia_max <- inflacion_provincias %>% filter(date == "2021-10-01") %>% slice_max(value, n=1) %>%
dplyr::select(-date) %>%
rename(inflacion = value)
banderas <- c("https://upload.wikimedia.org/wikipedia/commons/6/63/Bandera_de_Le%C3%B3n_%28ciudad%29.svg", "https://upload.wikimedia.org/wikipedia/commons/b/bf/Bandera_de_la_provincia_de_Toledo.svg")
provincia_max_urls <- provincia_max %>% group_by(nombre_provincia) %>%
add_column(banderas) %>% ungroup()
Tabla_max <- provincia_max_urls %>% gt()
Tabla_max <- Tabla_max %>%
tab_header(title = md("**Provincia con mayor inflación**"),subtitle = md("A fecha: 01-10-2021"))
Tabla_max <- Tabla_max %>%
tab_options(heading.background.color = "#9ccc65") %>% tab_options(heading.title.font.size = 15, heading.subtitle.font.size = 13, column_labels.font.weight = "bold")
Tabla_max <- Tabla_max %>%
gt::text_transform(locations = cells_body(columns = vars(banderas)), fn = function(x) {gt::web_image(x, height = 50)}) %>% cols_align(
align = "center")
provincia_min <- inflacion_provincias %>% filter(date == "2021-10-01") %>%
slice_min(value, n=1) %>%
dplyr::select(-date) %>% rename(inflacion = value)
bandera <- c("https://upload.wikimedia.org/wikipedia/commons/9/9c/Bandera_Provincial_de_Las_Palmas.png")
provincia_min_urls <- provincia_min %>% group_by(nombre_provincia) %>%
add_column(bandera) %>% ungroup()
Tabla_min <- provincia_min_urls %>% gt()
Tabla_min <- Tabla_min %>%
tab_header(title = md("**Provincia con menor inflación**"),subtitle = md("A fecha: 01-10-2021"))
Tabla_min <- Tabla_min %>%
tab_options(heading.background.color = "#9ccc65") %>% tab_options(heading.title.font.size = 15, heading.subtitle.font.size = 13, column_labels.font.weight = "bold")
Tabla_min <- Tabla_min %>%
gt::text_transform(locations = cells_body(columns = vars(bandera)), fn = function(x) {gt::web_image(x, height = 50)}) %>% cols_align(
align = "center")
inflacion_provincias <- inflacion_provincias %>%
filter(date == "2021-10-01") %>%
rename(inflacion = value)
datatable(inflacion_provincias, class ="stripe hover compact row-border" , filter = 'top')
Para el caso espaƱol esta situación (aumento de los precios energĆ©ticos) le perjudica en mayor medida. Como es bien sabido, nuestra economĆa se caracteriza por una fuerte dependencia energĆ©tica exterior. Si consultamos los Ćŗltimos datos del Instituto Nacional de EstadĆstica (INE), en EspaƱa apenas se produce un tercio de la energĆa que se consume. Estos datos sitĆŗan a EspaƱa como uno de los paĆses de la Unión Europea mĆ”s dependientes energĆ©tica, ya que la media de la UE se sitĆŗa cerca del 50%. Este factor es clave para entender, en parte, el problema actual, y es una de las variables en las que se deberĆa empezar a centrar EspaƱa. Si no es asĆ, las futuras fluctuaciones del precio de la energĆa, generan inestabilidades en el coste de vida periódicamente, y en paralelo a los shocks. El futuro es incierto, y aunque se ha gozado de un perĆodo de estabilidad, nadie nos garantiza que las fluctuaciones no se repitan de forma prolongada.
Una inflación suficientemente alta perjudica a todo el mundo (o a casi todo el mundo), especialmente cuando ésta es prolongada. Pero si tomamos como referencia las hipótesis que estÔn adoptando organismos internacionales y banco central europeo:
ššŖšŗ Lagarde no se da por vencida: "La inflación es transitoria y tiene forma de joroba"https://t.co/R4XFp89lAo pic.twitter.com/n03ga3yyzb
ā elEconomista.es (@elEconomistaes) December 3, 2021
Es decir, si asumimos que la inflación va a ser transitoria, que efectos puede tener sobre los agentes económicos, ¿a quién afecta mÔs la inflación?
Los efectos redistributivos en un perĆodo corto de inflación ācontroladaā dependen de la estructura patrimonial y de la estructura de ingresos y gastos de los distintos individuos que conforman una determinada economĆa. La inflación es mĆ”s daƱina para aquellos agentes que tengan en cartera activos de renta fija en lugar de activos de renta variable (históricamente Ć©sta se revalorizan en perĆodos de inflación). Es decir, aquellos agentes que carezcan de deuda (o cuya deuda estĆ© indexada a la inflación) y que dispongan de ingresos/gastos insensibles a la inflación en el corto plazo pueden verse beneficiados por la alza de precios. Por tanto, los agentes que no se hallen en esta situación (no disponen de una cartera patrimonial que se revalorice con la inflación) verĆ”n cómo su patrimonio neto se reduce en tĆ©rminos reales, junto a su capacidad de generación de nuevo ahorro en tĆ©rminos reales (bajo supuesto que no se producen revalorizaciones salariales en dicho perĆodo mayores a la inflación).
La pregunta que debe formularse el lector es clara:
ĀæEn quĆ© medida se encuentran distribuidos las familias entre dichas categorĆas?
Analicemos, pues, en quĆ© medida los ricos y los pobres se hallan en estas distintas categorĆas en nuestra economĆa domĆ©stica.
Según los últimos datos que dispone el Banco de España, el porcentaje de familias con activos reales incrementa con la renta. Recuerde el lector dichos activos se caracterizan por tener cierta capacidad de revalorizarse con la inflación. Como se puede observar, mientras que 9 de cada 10 familias que conforman el decil con mayores ingresos disponen de vivienda principal en propiedad, solo el 65% aproximadamente del quintil mÔs pobre dispone de ella. Obtenemos resultados similares respecto a otros activos reales como las otras propiedades:
prop <- ggplot() +
geom_col(data = datos_esp_prop, aes(x = reorder(Propiedad, value), y = value, fill = `Percentil de renta`), position = "dodge") +
scale_fill_brewer(palette = "Greens") + theme(axis.text.x = element_text(colour = "black"),
panel.background = element_rect(fill = "white"),
plot.background = element_rect(fill = "white")) +labs(title = "Propiedad activos reales ",
x = NULL, y = NULL, caption = "Fuente: Elaboración propia con datos del Banco de España")+labs(y = "Valore en %") +
theme(legend.position = "bottom", legend.direction = "horizontal")
Para la composición de los activos financieros disponemos de resultados similares. Como se puede observar, las familias situadas en los primeros deciles estÔn sesgadas hacia los activos de renta fija.
inv <- ggplot() +
geom_col(data = datos_esp_inv, aes( x = reorder (Act_real, value), y = value, fill = `PERCENTIL DE RENTA`), position = "dodge") +
scale_fill_brewer() +
theme(panel.background = element_rect(fill = "white")) +
labs(title = "Porcentaje de activos financieros",
x = NULL, y = "valores en %", caption = "Fuente: Elaboración propia con datos del Banco de España ") +
theme(legend.position = "bottom", legend.direction = "horizontal")
A todo esto, cabe destacar, que por norma general, los ingresos/gastos de las rentas altas tienen la capacidad de adaptarse mejor a épocas de inflación. Esto es debido a variedad de motivos que afectan en mayor medida a las clases mÔs bajas; menor poder de negociación salarial, menores salarios, disponer de mayores proporción de gastos fijos dependientes de la inflación, etc.
Queremos remarcar que estas conclusión no debe ser aplicada a otras economĆas, los resultados dependen de cómo es la proporción de posesión de activos de renta fija vs renta variable en cada economĆa, sumado a otras variables que por simplicidad no hemos entrado a valorar en profundidad como bien puede ser la estructura del mercado de trabajo y la influencia que pueda tener la inflación sobre esta, el riesgo divisa, el volumen de paro, etc. Però, bajo el supuesto de BCE (del que todos esperemos que no vaya mal encaminado), una conclusión es clara; en EspaƱa la inflación perjudica especialmente a los mĆ”s pobres.
Las estimaciones de la OCDE sobre la evolución de la inflación estima que se volverĆ”n a datos por debajo del objetivo del 2%, tanto para Europa como para EspaƱa, a finales del 2022. Si no se cumplen las hipótesis, escenario no descartable ya que estos organismos se han caracterizado muchas veces por presentar errores en sus estimaciones, podemos esperar un perĆodo, donde se prorrogue mĆ”s de un Ćŗnico perĆodo. No sabemos quĆ© nos depararĆ” el futuro, pero una cosa queda clara, si las estimaciones no se cumplen, la alta inflación serĆ” desgarradora para una economĆa frĆ”gil que se encuentra en su senda de recuperación post-covid.
prediccion_df <- prediccion_inflacion %>%
dplyr::select(LOCATION, TIME, Value) %>%
mutate(fecha = lubridate::yq(TIME)) %>%
mutate(value = round(Value, 2)) %>%
dplyr::select(-TIME,-Value)
prediccion_df_ea17 <- prediccion_inflacion %>%
dplyr::select(LOCATION, TIME, Value) %>%
mutate(fecha = lubridate::yq(TIME)) %>%
mutate(value = round(Value, 2)) %>%
dplyr::select(-TIME,-Value) %>%
filter(LOCATION == "EA17")
prediccion_df_esp <- prediccion_inflacion %>%
dplyr::select(LOCATION, TIME, Value) %>%
mutate(fecha = lubridate::yq(TIME)) %>%
mutate(value = round(Value, 2)) %>%
dplyr::select(-TIME,-Value) %>%
filter(LOCATION == "ESP")
gg <- ggplot() +
geom_line(data = prediccion_df, aes(fecha, value, color = LOCATION), alpha = 0.2) +
geom_line(data = prediccion_df_ea17, aes(fecha, value), color= "#0288d1", size = 1.5) +
geom_point(data = prediccion_df_ea17, aes(fecha, value), color= "#0288d1", size = 3) +
geom_text(data = prediccion_df_ea17, aes(fecha, value, label = value, vjust = -2, hjust= 0.5)) +
geom_text(data = prediccion_df_ea17, aes(fecha, value, label = "%"), vjust = -2, hjust= -1.3) +
geom_hline(yintercept = 2,
size = 1.5,
colour = "#2e7d32",
linetype = "dashed") +
annotate("rect",
xmin = as.Date("2021-09-01"),
xmax = as.Date("2021-11-01"),
ymin = -Inf,
ymax = Inf,
alpha = 0.4,
fill = "pink") +
annotate(geom = "label",
x= as.Date("2023-07-01"),
y = 1,
label = "Zona montearia Europea",
size = 4,
color = "#0288d1") +
annotate(geom = "text",
x= as.Date("2020-04-01"),
y = 2.2,
label = "Objetivo inflacion 2%",
size = 4,
color = "black") +
scale_x_date(date_labels="%Y-%m",date_breaks ="3 months") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
theme(panel.background = element_rect(fill = "white"),
legend.position = "none", legend.direction = "horizontal") +
labs(y = NULL, colour = NULL) +
theme(axis.ticks = element_line(linetype = "blank"),
axis.text.y = element_text(colour = "white")) +
theme(legend.position = NULL) +
theme(legend.position = "none")+
labs(x = NULL)
gg1 <- ggplot() +
geom_line(data = prediccion_df, aes(fecha, value, color = LOCATION), alpha = 0.2) +
geom_line(data = prediccion_df_esp, aes(fecha, value), color= "#b71c1c", size = 1.5) +
geom_point(data = prediccion_df_esp, aes(fecha, value), color= "#b71c1c", size = 3) +
geom_text(data = prediccion_df_esp, aes(fecha, value, label = value, vjust = -2, hjust= 0.5)) +
geom_text(data = prediccion_df_esp, aes(fecha, value, label = "%"), vjust = -2, hjust= -1.3) +
geom_hline(yintercept = 2,
size = 1.5,
colour = "#2e7d32",
linetype = "dashed") +
annotate("rect",
xmin = as.Date("2021-09-01"),
xmax = as.Date("2021-11-01"),
ymin = -Inf,
ymax = Inf,
alpha = 0.4,
fill = "pink") +
annotate(geom = "label",
x= as.Date("2023-07-01"),
y = 1,
label = "EspaƱa",
size = 4,
color = "#b71c1c") +
annotate(geom = "text",
x= as.Date("2020-04-01"),
y = 2.2,
label = "Objetivo inflacion 2%",
size = 4,
color = "black") +
scale_x_date(date_labels="%Y-%m",date_breaks ="3 months") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
theme(panel.background = element_rect(fill = "white"),
legend.position = "none", legend.direction = "horizontal") +
labs(y = NULL, colour = NULL) +
theme(axis.ticks = element_line(linetype = "blank"),
axis.text.y = element_text(colour = "white")) +
theme(legend.position = NULL) +
theme(legend.position = "none")+
labs(x = NULL)
Las conclusiones extraĆdas para las estimaciones de inflación són aplicables a las del PIB, es decir, si nos situamos en el mejor de los casos, todos los indicadores apuntan que hasta al menos un aƱo, no vamos a estabilizar la situación, por tanto, serĆa razonable pensar que el 2022 va ser un aƱo de dura recuperación económica para las principales economĆas, especialmente en aquellas que ya tienen problemas de base antes del inicio de la escalada en precios, como bien puede ser la espaƱola.
crecimiento_df <- crecimiento %>%
dplyr::select(LOCATION, TIME, Value) %>%
mutate(fecha = lubridate::yq(TIME)) %>%
mutate(value = round(Value, 2)) %>%
filter(LOCATION %in% c("ESP","EA17")) %>%
dplyr::select(-TIME,-Value)
crecimiento <- ggplot(crecimiento_df, aes(fecha,value, color= LOCATION)) +
geom_line(size=2, linetype=7) +
scale_x_date(date_labels="%Y-%m",date_breaks ="3 months") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
scale_color_manual(breaks = c("ESP","EA17"),values = c("#E04644","#7CCCE5")) +
facet_wrap(
vars(LOCATION), nrow = 2, ncol = 1) +
annotate("rect",
xmin = as.Date("2020-01-01"),
xmax = as.Date("2020-07-01"),
ymin = -Inf,
ymax = Inf,
alpha = 0.4,
fill = "grey") +
geom_hline(yintercept = 100,
size = 1,
colour = "grey",
linetype = "dashed") +
theme(panel.grid.major = element_line(colour = "gray90"),
panel.grid.minor = element_line(colour = NA),
plot.title = element_text(size = 10,
face = "bold"), panel.background = element_rect(fill = NA),
legend.position = "none") +
labs(title = "Predicción de crecimiento PIB Eurozona",
x = NULL, y = NULL, colour = NULL, subtitle = "AƱo 2019 en base 100",
caption = "Fuente:Elaboración propia con datos de la OCDE.") +
theme(strip.background =element_rect(fill="#424254")) +
theme(strip.text = element_text(colour = 'white')) +
theme(strip.text = element_text(size = 15))
crecimiento
Aunque existe un fuerte debate dentro de la doctrina económica sobre si el Banco Central Europeo (BCE) debe empezar a retirar estĆmulos, con las duras implicaciones que esto puede tener para las economĆas endeudadas como la espaƱola o la italiana, la estratĆ©gia adoptada por las autoridades monetarias europeas al momento de escribir este artĆculo es clara, no habrĆ” (por el momento) reducción de los estĆmulos monetarios. Sobre esta lĆnea ya nos avanzaba el diario económico francĆ©s Les Echos, en su entrevista al vicepresidente del BCE Luis de Guindos :
āDejamos claro que comenzaremos a subir los tipos poco despuĆ©s de haber finalizado nuestras compras netas de activos. ConfĆo en que esas compras netas continuarĆ”n durante el próximo aƱoā
Esta estratĆ©gia, que ya tiene muchos detractores, especialmente las economĆas que presentan mayores datos inflación, podrĆamos definirla como razonable por variedad de razones:
Las principales causas de inflación no se deben a la polĆtica monetaria llevada a cabo por el BCE: La diferencia entre inflación general y subyacente (a juicio de los autores) es bastante grande. Como hemos mostrado mediante los dos Ćŗltimos grĆ”ficos, detrĆ”s de este aumento estĆ”n los sospechosos habituales de los Ćŗltimos meses: electricidad e hidrocarburos. En una palabra, la energĆa. Por tanto, delante de este problema de oferta, al que tambiĆ©n tenemos que sumarle la falta de microprocesadores, entre otros productos intermedios, poco se puede hacer actuando sobre la demanda (retirando estĆmulos monetarios).
Adicionalmente, el problema inflacionista llega en el peor momento posible. Por una parte, el nivel de endeudamiento de gran parte de las economĆas que conforman la eurozona disponen de ratios de Deuda/PIB (vĆ©ase grĆ”fico de endeudamiento) superiores al 100%. Esto supone una restricción importante a la hora de tratar controlar la inflación mediante el aumento de tipos de interĆ©s, ya que, puede suponer un aumento en el coste amortización de la deuda que ralentiza la recuperación económica post-pandemia. Por otra parte, tambiĆ©n es poco probable que el BCE retire de forma anticipada los estĆmulos monetarios, mĆ”s todavĆa con la irrupción de la variante ómicron, que supone un riesgo adicional para el crecimiento económico
p <- ggplot() +
geom_col(data = deuda_eu, aes(x = reorder(geo, -value), y = value, fill = value)) +
scale_fill_continuous(low="#81F7F3", high="#0B615E") +
coord_flip() +
geom_hline(yintercept = 0.6,
size = 0.25,
colour = "blue",
linetype = "dashed") +
labs(x = NULL) +
labs (y = NULL) +
scale_y_continuous(labels = scales::percent) +
theme(panel.background = element_rect(fill = "transparent")) +
labs(title = "Deuda/PIB 2020.",
caption = "Fuente: Elaboración propia con datos de Eurostat") +
guides (fill = FALSE)
p
En resumen, para saber si el campo para tomar decisiones se ensancha en el futuro cercano, se tendrĆ” que despejar la incógnita de cuĆ”nto tiempo van a mantenerse los precios a esta altura y cómo se implementa, en caso de ser necesario, este tipo de polĆtica sin que Ć©sta ocasione una distorsión de expectativas que lastre considerablemente el crecimiento económico. Es decir la variable clave va a ser el tiempo. Un dato importante acerca de este tema nos la da la Ćŗltima rueda de prensa del presidente del la Reserva Federal (FED) Jerome Powell el pasado 30 de Noviembre, para la FED, despues de una exhaustiva reunión, acaban de determinar que empezaran a retirar estĆmulos monetarios porque interpretan que la inflación ya no se puede considerar un fenómeno transitorio.
#Fed's Powell: Itās time to retire the word 'transitory' regarding #inflation. Inflation expectations, measured by 5y5y swaps, have jumped to multi-year highs on both sides of the Atlantic. pic.twitter.com/atNmtRtnG5
ā Holger Zschaepitz (@Schuldensuehner) November 30, 2021
Salvando las distancias, ya que los datos de inflación són mĆ”s preocupantes en la economĆa americana, si lo podemos considerar como un cambio de tendencia que nos puede empezar a invitar a la reflexión acerca de la transitoriedad de la inflación. Por su parte, el banco central sigue apostando a que la subida es coyuntural y que entrado 2022 la inflación perderĆ” fuelle. Aunque no disponemos de la evidencia empĆrica suficiente para contrastar la validez de la hipótesis del BCE, consideramos que la solución no pasa sólo por reducir los estĆmulos monetarios, porque, como hemos visto, el principal problema que experimenta la economĆa europea y mundial es un problema de oferta. Nos hemos topado con cuellos de botella en diversas partes de nuestra estructura de producción (los microchips, el gas, el carbón, el transporte, los contenedores, los trabajadores bien formadosā¦), en un contexto donde se han presentado los mayores paquetes de estĆmulo monetarios en la historia. Si no solucionamos el problema de forma inmediata, tanto por el lado de la oferta como por el de la demanda, podemos tener un problema de descontrol inflacionario que cada vez tendrĆ” una mayor complejidad a la hora de implementar soluciones. La conclusión es clara, debemos empezar a tomarnos en serio la inflación.
La elaboración del artĆculo nos ha servido para aprender en diversos aspectos. Por una parte, hemos mejorado nuestras capacidades de bĆŗsqueda y anĆ”lisis de datos (aunque hemos de reconocer la mĆ”s costosa de la disciplina ādata scienceā), por otra parte, hemos profundizado mĆ”s en nuestro conocimiento de R.Studio. Si miramos en retrospectiva, los tres autores consideramos que R.Studio es una herramienta potente para trabajar con datos, nunca nos habrĆamos imaginado todas las opciones que nos puede dar la programación y en especial la presentación de informes mediante un fichero Rmarckdawn. Creemos que sĆ hemos conseguido nuestros objetivos establecidos el primer dĆa que nos pusimos en marcha, desarrollar tanto los conocimientos económicos como los aprendidos mediante el curso de R-studio. Salvando la distancia, si hemos conseguido realizar grĆ”ficos, bajo nuestro criterio, suficientemente elegantes como los compartidos por diferentes economistas que elaboran sus propios grĆ”ficos en su labor de divulgación. Ćs un tema bastante complejo, y que invita a la profunda reflexión y estudio, pero, sin pecar de ambiciosos, creemos que sĆ hemos aportado nuestro, insisto, pequeƱĆsimo granito de arena a mostrar un problema económico mediante el anĆ”lisis de datos y la elaboración de grĆ”ficos de una forma ya mĆ”s profesionalizada.
Para la realización de los grÔficos y los comentarios pertinentes nos hemos basado en la información que vamos a exponer en los siguientes pÔrrafos.
Para poder realizar los comentarios, nos hemos formado con artĆculos como los siguientes:
Para poder realizar grƔficos animados, nos hemos basado en las explicaciones de como implementar el paquete gganimate en nuestro proyecto.
Con el paquete dygraph, ademÔs de conseguir realizar un grÔfico interactivo,este nos permite realizar zoom en cualquier parte del mismo que nos llame la atención.
Dados los problemas para conseguir realizar un mapa intercativo con geom_sf, nos descargamos unos archivos shapelfield con lo que conseguimos hacer un mapa de las provincias de EspaƱa.
AdemĆ”s, para la elaboración de grĆ”ficos que nos parecĆan Ćŗtiles para implementar en el trabajo, hemos consultado información sobre como elaborar un treemap, para observar la importancia de los componentes, un barplot circular, para representar las comunidades autónomas, y un Spaghetti plot, para en un mismo grĆ”fico de lineas resaltar la que nos interese.
Por último, destacar como tambiém hemos consultado trabajos realizados por nuestros compañeros el año anterior. Estos últimos los podemos encontrar aqui
Para concluir este apartado incluimos la session info
:
sessioninfo::session_info() %>% details::details(summary = 'current session info')
- Session info ---------------------------------------------------------------
setting value
version R version 4.1.1 (2021-08-10)
os Windows 10 x64
system x86_64, mingw32
ui RTerm
language (EN)
collate Spanish_Spain.1252
ctype Spanish_Spain.1252
tz Europe/Paris
date 2021-12-15
- Packages -------------------------------------------------------------------
package * version date lib
assertthat 0.2.1 2019-03-21 [1]
backports 1.2.1 2020-12-09 [1]
base64enc 0.1-3 2015-07-28 [1]
BiocManager 1.30.16 2021-06-15 [1]
bit 4.0.4 2020-08-04 [1]
bit64 4.0.5 2020-08-30 [1]
broom * 0.7.9 2021-07-27 [1]
bslib 0.3.1 2021-10-06 [1]
cellranger 1.1.0 2016-07-27 [1]
checkmate 2.0.0 2020-02-06 [1]
class 7.3-19 2021-05-03 [2]
classInt 0.4-3 2020-04-07 [1]
cli 3.0.1 2021-07-17 [1]
clipr 0.7.1 2020-10-08 [1]
codetools 0.2-18 2020-11-04 [2]
colorspace 2.0-2 2021-06-24 [1]
countrycode * 1.3.0 2021-07-15 [1]
crayon 1.4.2 2021-10-29 [1]
crosstalk 1.1.1 2021-01-12 [1]
curl 4.3.2 2021-06-23 [1]
data.table 1.14.0 2021-02-21 [1]
DBI 1.1.1 2021-01-15 [1]
dbplyr 2.1.1 2021-04-06 [1]
desc 1.3.0 2021-03-05 [1]
details 0.2.1 2020-01-12 [1]
digest 0.6.28 2021-09-23 [1]
dplyr * 1.0.7 2021-06-18 [1]
DT * 0.19 2021-09-02 [1]
dygraphs * 1.1.1.6 2018-07-11 [1]
e1071 1.7-8 2021-07-28 [1]
ellipsis 0.3.2 2021-04-29 [1]
evaluate 0.14 2019-05-28 [1]
extrafont 0.17 2014-12-08 [1]
extrafontdb 1.0 2012-06-11 [1]
fansi 0.5.0 2021-05-25 [1]
farver 2.1.0 2021-02-28 [1]
fastmap 1.1.0 2021-01-25 [1]
forcats * 0.5.1 2021-01-27 [1]
foreign 0.8-81 2020-12-22 [2]
fs 1.5.0 2020-07-31 [1]
gdtools 0.2.3 2021-01-06 [1]
generics 0.1.1 2021-10-25 [1]
gganimate * 1.0.7 2020-10-15 [1]
ggflags * 0.0.2 2021-11-03 [1]
ggplot2 * 3.3.5 2021-06-25 [1]
ggrepel * 0.9.1 2021-01-15 [1]
ggspatial * 1.1.5 2021-01-04 [1]
gifski * 1.4.3-1 2021-05-02 [1]
glue 1.4.2 2020-08-27 [1]
gridBase 0.4-7 2014-02-24 [1]
gridExtra 2.3 2017-09-09 [1]
grImport2 0.2-0 2019-11-25 [1]
gt * 0.3.1 2021-08-07 [1]
gtable 0.3.0 2019-03-25 [1]
haven 2.4.3 2021-08-04 [1]
here * 1.0.1 2020-12-13 [1]
highr 0.9 2021-04-16 [1]
hms 1.1.1 2021-09-26 [1]
hrbrthemes * 0.8.0 2020-03-06 [1]
htmltools 0.5.2 2021-08-25 [1]
htmlwidgets 1.5.4 2021-09-08 [1]
httpuv 1.6.3 2021-09-09 [1]
httr 1.4.2 2020-07-20 [1]
igraph 1.2.8 2021-11-07 [1]
jpeg 0.1-9 2021-07-24 [1]
jquerylib 0.1.4 2021-04-26 [1]
jsonlite 1.7.2 2020-12-09 [1]
kableExtra * 1.3.4 2021-02-20 [1]
KernSmooth 2.23-20 2021-05-03 [2]
klippy * 0.0.0.9500 2021-11-12 [1]
knitr * 1.36 2021-09-29 [1]
labeling 0.4.2 2020-10-20 [1]
later 1.3.0 2021-08-18 [1]
lattice 0.20-44 2021-05-02 [2]
lazyeval 0.2.2 2019-03-15 [1]
leafem * 0.1.6 2021-05-24 [1]
leaflet * 2.0.4.1 2021-01-07 [1]
lifecycle 1.0.1 2021-09-24 [1]
lubridate * 1.8.0 2021-10-07 [1]
magrittr 2.0.1 2020-11-17 [1]
mapview * 2.10.0 2021-06-05 [1]
mime 0.12 2021-09-28 [1]
modelr 0.1.8 2020-05-19 [1]
munsell 0.5.0 2018-06-12 [1]
openxlsx 4.2.4 2021-06-16 [1]
pacman 0.5.1 2019-03-11 [1]
patchwork * 1.1.1 2020-12-17 [1]
pillar 1.6.4 2021-10-18 [1]
pkgconfig 2.0.3 2019-09-22 [1]
plotly * 4.10.0 2021-10-09 [1]
plyr 1.8.6 2020-03-03 [1]
png 0.1-7 2013-12-03 [1]
prettyunits 1.1.1 2020-01-24 [1]
progress 1.2.2 2019-05-16 [1]
promises 1.2.0.1 2021-02-11 [1]
proxy 0.4-26 2021-06-07 [1]
purrr * 0.3.4 2020-04-17 [1]
R6 2.5.1 2021-08-19 [1]
raster * 3.4-13 2021-06-18 [1]
RColorBrewer 1.1-2 2014-12-07 [1]
Rcpp 1.0.7 2021-07-07 [1]
readr * 2.0.1 2021-08-10 [1]
readxl * 1.3.1 2019-03-13 [1]
reprex 2.0.1 2021-08-05 [1]
rgdal * 1.5-27 2021-09-16 [1]
rgeos * 0.5-8 2021-09-22 [1]
rio * 0.5.27 2021-06-21 [1]
rlang 0.4.12 2021-10-18 [1]
rmarkdown 2.11 2021-09-14 [1]
rnaturalearth * 0.1.0 2017-03-21 [1]
rnaturalearthdata * 0.1.0 2017-02-21 [1]
rprojroot 2.0.2 2020-11-15 [1]
rstudioapi 0.13 2020-11-12 [1]
Rttf2pt1 1.3.9 2021-07-22 [1]
rvest 1.0.1 2021-07-26 [1]
sass 0.4.0 2021-05-12 [1]
satellite 1.0.4 2021-10-12 [1]
scales * 1.1.1 2020-05-11 [1]
sessioninfo 1.1.1 2018-11-05 [1]
sf * 1.0-2 2021-07-26 [1]
shiny 1.7.1 2021-10-02 [1]
sp * 1.4-5 2021-01-10 [1]
streamgraph * 0.9.0 2021-11-19 [1]
stringi 1.7.5 2021-10-04 [1]
stringr * 1.4.0 2019-02-10 [1]
svglite 2.0.0 2021-02-20 [1]
systemfonts 1.0.3 2021-10-13 [1]
terra 1.4-20 2021-11-16 [1]
tibble * 3.1.6 2021-11-07 [1]
tidyr * 1.1.4 2021-09-27 [1]
tidyselect 1.1.1 2021-04-30 [1]
tidyverse * 1.3.1 2021-04-15 [1]
treemap * 2.4-3 2021-08-22 [1]
tweenr 1.0.2 2021-03-23 [1]
tweetrmd 0.0.9 2021-12-03 [1]
tzdb 0.1.2 2021-07-20 [1]
units 0.7-2 2021-06-08 [1]
utf8 1.2.2 2021-07-24 [1]
vctrs 0.3.8 2021-04-29 [1]
viridis * 0.6.2 2021-10-13 [1]
viridisLite * 0.4.0 2021-04-13 [1]
vroom 1.5.4 2021-08-05 [1]
webshot 0.5.2 2019-11-22 [1]
withr 2.4.2 2021-04-18 [1]
xfun 0.27 2021-10-18 [1]
XML 3.99-0.7 2021-08-17 [1]
xml2 1.3.2 2020-04-23 [1]
xtable 1.8-4 2019-04-21 [1]
xts * 0.12.1 2020-09-09 [1]
yaml 2.2.1 2020-02-01 [1]
zip 2.2.0 2021-05-31 [1]
zoo * 1.8-9 2021-03-09 [1]
source
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.2)
Github (rensa/ggflags@e3c6e51)
CRAN (R 4.1.1)
CRAN (R 4.1.2)
CRAN (R 4.1.2)
CRAN (R 4.1.2)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.2)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.2)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.2)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
Github (rlesur/klippy@378c247)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.2)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.2)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.2)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
Github (hrbrmstr/streamgraph@76f7173)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.2)
CRAN (R 4.1.2)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
Github (gadenbuie/tweetrmd@075102b)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
CRAN (R 4.1.1)
[1] C:/Users/narf2_000/Documents/R/win-library/4.1
[2] C:/Program Files/R/R-4.1.1/library