Durante el confinamiento de la pandemia del COVID-19, el uso del Metro de Madrid descendió dramáticamente. Desde la cuenta de @metro_madrid en Twitter se ha ido informando del número de viajeros. Desafortunadamente, han dejado de hacerlo el 14 de julio. Espero que viendo estas gráficas vuelvan a informar del uso de su infraestructura

Importamos de tidyverse las siguientes librerías

library(readr)
library(dplyr)
library(ggplot2)
locale(date_names = "es", date_format = "%AD", time_format = "%AT",
  decimal_mark = ",", grouping_mark = ".", tz = "UTC",
  encoding = "UTF-8", asciify = FALSE)
## <locale>
## Numbers:  123.456,78
## Formats:  %AD / %AT
## Timezone: UTC
## Encoding: UTF-8
## <date_names>
## Days:   domingo (dom.), lunes (lun.), martes (mar.), miércoles (mié.), jueves
##         (jue.), viernes (vie.), sábado (sáb.)
## Months: enero (ene.), febrero (feb.), marzo (mar.), abril (abr.), mayo (may.),
##         junio (jun.), julio (jul.), agosto (ago.), septiembre (sept.),
##         octubre (oct.), noviembre (nov.), diciembre (dic.)
## AM/PM:  a. m./p. m.

Datos usados

Los datos de número de pasajeros se han obtenido de los tweets del @metro_madrid que incluían el hashtag #DatosMetro y que informaban sobre el número de viajeros

Los datos no son uniformes:

Los datos de las menciones a las mascarillas se han obtenido por webscraping a la web de Twitter mediante la consulta “@metro_madrid AND mascarillas”

pasajeros <- read_csv2("pasajeros_metro.csv")
mascarillas  <-  read_csv2("mascarillas.csv")

Evolución de los pasajeros

Contrastamos las evoluciones del año 2020 respecto al 2019.

La evolución del 2019 se calcula en función del dato que ofrece @metro_madrid al decir que:

“En la fecha x el número de viajeros fue un y% menor que el año anterior”

tipo de tweet de @DatosMetro

tipo de tweet de @DatosMetro

La línea del año 2019 contiene algunos picos:

p_df <- data.frame(pasajeros)  #lo convertimos en dataframe
p_df$Fecha <- as.Date(p_df$Fecha,format="%d/%m/%Y")
p_df$X2020 <- p_df$X2020/1000 #lo cambiamos a unidades de miles

#añadimos una columna con el cáculo del porcentaje de referencia del 2020 al 2019
p_df <- mutate( p_df, X2019 = (p_df$X2020)/(100-p_df$X2019_menos)*100)


ggplot()+
  geom_line( data= p_df, aes(x = Fecha, y = X2020, color="Viajeros 2020"))+
  geom_line( data= p_df, aes(x = Fecha, y = X2019,color="Viajeros 2019"))+
  scale_colour_manual('', values = c('#46ACC8','#B40F20')) +
  theme(text=element_text(size=9,  family="Arial"))+
  theme(plot.title=element_text(size=10,family="Arial",face="bold"))+
  labs(x = "Tiempo en días", y = "Pasajeros (en miles)",
       title = "Evolución de los pasajeros del metro 2019-2020")+
  annotate(data= p_df,geom="text",x=as.Date("2020/03/16"),y=400,
           label="16/03\n20:00",size=2.5,color="red",hjust = 0,
           fontface = 'italic')+
  annotate(data= p_df,geom="text",x=as.Date("2020/03/24"),y=300,
           label="24/03\n18:00",size=2.5,color="red",hjust = 0,
           fontface = 'italic')+
  annotate(data= p_df,geom="text",x=as.Date("2020/06/26"),y=600,
           label="26/06\nCierre\nservicio",size=2.5,color="red",
           hjust = 0,fontface = 'italic')

ggsave("evolución_metro.png")

Evolución de menciones a las mascarillas respecto al número de pasajeros

m_df <- data.frame(mascarillas)  #lo convertimos en dataframe
m_df$date <- as.Date(m_df$date,format="%d/%m/%Y")



ggplot()+
  geom_bar( data= m_df, aes(x = date, y = ..count..), 
                            color = 'white',
                            fill = 'cornflowerblue')+
  geom_line( data= p_df, aes(x = Fecha, y =X2020,color="Viajeros 2019"))+
  scale_colour_manual('', values = c('#B40F20')) +
  theme(text=element_text(size=9,  family="Arial"))+
  theme(plot.title=element_text(size=10,family="Arial",face="bold"))+
  labs(x = "Tiempo en días", y = "Pasajeros (en miles)",
       title = "Número de menciones a mascarillas vs. número de viajeros")+
  annotate(data= p_df,geom="text",x=as.Date("2020/04/13"),y=200,
           label="13/04\nLa policía\nreparte mascarillas",size=2.75,color="cornflowerblue",vjust = 0,
           fontface = 'italic')

ggsave("evolución_mascarilla.png")