1 El paquete ESdata

ESdata es un paquete de R que permite acceder a información estadística de España estructurada como datos ordenados (tidy data). Si tiene instalado previamente el paquete devtools, puede instalar 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:

  • Empleo: Encuesta de PoblaciĂłn actĂ­va (EPA).
  • InflaciĂłn: Índice de Precios de Consumo (IPC).
  • Crecimiento: PIB a precios de mercado.

En este documento mostraremos la información disponible sobre el Índice de Precios al Consumo.

2 El Índice de Precios de Consumo

El Índice de Precios de Consumo o Índice de Precios al Consumidor (IPC) es un estimador de los precios de los bienes y servicios de consumo en una economĂ­a. Se obtiene a partir de los precios de una cesta familiar representativa de los hĂĄbitos de consumo de las familias en un determinado momento. Los precios de los bienes de la cesta familiar se evalĂșan periĂłdicamente para obtener una aproximaciĂłn de la evaluaciĂłn de los precios. Por tanto, el mantenimiento de un IPC requiere:

  • Establecer los bienes y servicios que componen la cesta familiar, y la ponderaciĂłn de cada uno de ellos en el cĂĄlculo del IPC.
  • Realizar la encuesta de gastos de los hogares para calcular el IPC.

El IPC puede presentarse en forma de Ă­ndice, de variaciĂł respecto del perĂ­odo anterior, o variaciĂłn respecto a los valores de IPC de hace un año. Con Ă©ste Ășltimo valor, se corrige la estacionalidad de algunos de los precios con los que se calcula el IPC.

El Instituto Nacional de Estadística (INE) proporciona datos mensuales del IPC, y actualiza la cesta familiar cada año. Los datos de IPC incorporados a ESdata se han obtenido de las tablas en https://www.ine.es/dynt3/inebase/es/index.htm?padre=3470&capsel=3466. Puede accederse al informe metodológico estandarizado desde https://www.ine.es/dynt3/metadatos/es/RespuestaDatos.html?oe=30138.

El precio de adquisición de las viviendas no forma parte del IPC, puesto que las viviendas se consideran un bien de inversión, y no un bien de consumo. El INE mantiene un Índice de Precios de la Vivienda (IPV), en el que se ponderan los precios de la vivienda nueva y la de segunda mano. Los valores de IPV que se han incorporado a ESdata se han obtenido de https://www.ine.es/dyngs/INEbase/es/operacion.htm?c=Estadistica_C&cid=1254736152838&menu=ultiDatos&idp=1254735976607. Se puede acceder a la ficha metodológica para el IPV desde https://www.ine.es/dynt3/metadatos/es/RespuestaDatos.html?oe=30457.

3 El IPC en ESdata

La información sobre el IPC del INE se incorpora a ESdata a través de tablas sobre la composición y ponderación de la cesta familiar, y de tablas del IPC.

3.1 ComposiciĂłn de la cesta familiar

Los elementos que componen la cesta familiar se encuentran en la tabla ipc_clas_grupos, en la que se muestra cómo se van agregando los bienes que forman la cesta familiar en agrupaciones homogéneas. Los niveles de clasificación, de mås grande a mås pequeño, son:

  • grupos, codificados de G01 a G11.
  • subgrupos, codificados de G011 a G127.
  • clases, codificadas de G0111 a G1270.
  • subclases, codificadas de G01111 a G01111.
  • grupos especiales grupos_especiales, codificados de GE01 a GE29.
  • rĂșbricas rubricas, codificadas de R01 a R57.

En ipc_pond se puede encontrar la ponderación de cada uno de los grupos para el cålculo del IPC en cada una de las comunidades autónomas y el conjunto de España para cada año.

3.2 Series de IPC

He estructurado la informaciĂłn sobre IPC proporcionada por el INE en las tablas siguientes:

  • ipc_ccaa contiene informaciĂłn de IPC a nivel de grupos para España y las Comunidades AutĂłnomas desde 2002.
  • ipc_clasif contiene informaciĂłn de IPC de España para todos los niveles de clasificaciĂłn desde 2002.
  • ipc_hist contiene la serie histĂČrica del IPC español desde 1961.
  • ipc_hist_grupos contiene informaciĂłn de IPC para España a nivel de grupo desde 1993.

Las variables de las tablas se definen del modo siguiente:

  • periodo: el Ășltimo dĂ­a del mes del dato correspondiente a la fila, en formato de fecha Date.
  • region: el cĂłdigo ISO 3166-2 de España y sus comunidades autĂłnomas (ver ccaa_iso para la denominaciĂłn oficial)
  • el nivel de agregaciĂłn del dato de cada una de las filas.
  • grupo: el cĂłdigo de la agregaciĂłn de productos para los que se muestra la evoluciĂłn del precio. Ver ipc_clas_grupos para la denominaciĂłn de cada grupo.
  • el dato, que puede ser el indice, variaciĂłn mensual, variaciĂłn anual y variaciĂłn anual acumulada.
  • el valor, en Ă­ndice o en porcentaje.

4 Ejemplos de utilizaciĂłn

4.1 La serie histĂłrica del IPC

En el grĂĄfico siguiente se muestra el valor de la inflaciĂłn interanual para la serie histĂłrica del IPC. Se han tomado los datos de ipc_hist, se han filtrado para obtener el valor de inflaciĂłn interanual.

ipc_hist %>% filter(dato == "anual") %>%
  mutate(valor = valor/100) %>%
  ggplot(aes(periodo, valor)) + 
  geom_line(size=1.3) +
  labs(title = "Evolución de la inflación de España (serie histórica)", x="tiempo", y="inflación interanual") +
  scale_y_continuous(labels = scales::percent) +
  theme_bw()

Para mostrar los datos en porcentaje, he dividido los datos originales entre 100 con mutate y he usado scale_y_continuous(labels = scales::percent).

4.2 EvoluciĂłn de grupos del IPC

En este grĂĄfico usamos ipc_hist_grupos para comparar la evoluciĂłn de los precios del ocio y la cultura con la evoluciĂłn general de los precios:

ipc_hist_grupos %>% filter(dato == "anual", grupo %in% c("general", "G09")) %>%
  mutate(valor=valor/100) %>%
  ggplot(aes(periodo, valor, col=grupo)) + 
  geom_line(size=1.2) +
  scale_color_manual(name="Ă­ndice", labels=c("ocio y cultura", "general"), values = c("#FF4500", "#606060")) +
  labs(title = "Evolución de la inflación del ocio y cultura en España", x="tiempo", y="inflación interanual") +
  scale_y_continuous(labels = scales::percent) +
  theme(legend.position = c(0.1, 0.15), 
        panel.background = element_rect(fill="#F5F5DC"), 
        legend.background = element_rect(fill="#F5F5DC"),
        legend.key = element_rect(fill="#F5F5DC"))

En este gråfico he insertado la leyenda dentro del gråfico para que éste ocupe el espacio disponible, y he cambiado el color del fondo del gråfico y de la leyenda.

4.3 Ponderaciones IPC

En el siguiente grĂĄfico se muestra la ponderaciĂłn de los grupos del IPC como un diagrama de sectores o pie chart. ggplot no proporciona este tipo de grĂĄficos por defecto, pero podemos usar coord_polar para generarlos. Para distinguir los doce grupos de IPC, he usado una escala Brewer divergente.

ipc_pond %>% filter(periodo==2020 & region=="ES") %>%
  ggplot(aes(x="", y=valor, fill=grupo)) +
  scale_fill_brewer(palette = "Paired")  +
  geom_bar(stat = "Identity") +
  coord_polar("y", start = 0) +
  theme_void()

En la tabla siguiente se muestran los doce cĂłdigos del IPC:

Grupos de bienes de consumo
codigo nombre
G01 Alimentos y bebidas no alcohĂłlicas
G02 Bebidas alcohĂłlicas y tabaco
G03 Vestido y calzado
G04 Vivienda, agua, electricidad, gas y otros combustibles
G05 Muebles, artĂ­culos del hogar y artĂ­culos para el mantenimiento corriente del hogar
G06 Sanidad
G07 Transporte
G08 Comunicaciones
G09 Ocio y cultura
G10 Enseñanza
G11 Restaurantes y hoteles
G12 Otros bienes y servicios

Del grĂĄfico vemos que los grupos con mayor ponderaciĂłn son alimentaciĂłn (G01), transporte (G07) y restaurantes y hoteles (G11).

4.4 ĂŻndice de IPC

En este gråfico muestro la evolución del índice de IPC para Catalunya y España, usando un gråfico de líneas con colores definidos específicamente para el gråfico.

ipc_ccaa %>% filter(region %in% c("ES", "ES-CT") & dato=="indice" & grupo=="general") %>% 
  ggplot(aes(periodo, valor, col=region)) + 
  geom_line(size=1.2) +
  scale_color_manual(name="indice", labels=c("España", "Cataluña"), values = c("#606060", "#A0522D")) +
  labs(title="IPC de Cataluña y España", x="", y="índice") +
  theme(legend.position = c(0.8, 0.15), 
        panel.background = element_rect(fill="#FAEBD7"), 
        legend.background = element_rect(fill="#FAEBD7"),
        legend.key = element_rect(fill="#FAEBD7"))

5 Propuestas de mejora

Si tiene alguna propuesta o ha detectado algĂșn error, puede ponerse en contacto conmigo desde: https://github.com/jmsallan/ESdata