1. Pregunta d’estudi

El conjunt de dades prové de la web oficial de l’Ajuntament de Barcelona on pengen tots els estudis de dades

L’objectiu del projecte és analitzar com ha evolucionat el nombre de vols a l’aeroport del Prat durant el període 2020–2024, amb especial atenció a l’impacte de la pandèmia de la COVID-19.

La pregunta d’estudi principal que hem formulat és la següent:

Hi ha diferències significatives en el nombre mensual de vols a l’aeroport del Prat entre l’any 2020 i els anys posteriors (2021–2024)?

2. Descripció del conjunt de dades

Hem importat el nostre fitxer amb el nom dades.RData.

# Exemple d'importació (modifiqueu segons calgui)
dades <- read.csv("Vols_ElPrat.csv")
save(dades, file = "dades.RData")
load("dades.RData")
nrow(dades)
## [1] 51250
ncol(dades)
## [1] 6
summary(dades)
##  Data_Referencia    Codi_Companyia   Nom_Companyia        Codi_Zona    
##  Length:51250       Min.   :   1.0   Length:51250       Min.   :1.000  
##  Class :character   1st Qu.:   3.0   Class :character   1st Qu.:2.000  
##  Mode  :character   Median :  10.0   Mode  :character   Median :2.000  
##                     Mean   : 197.5                      Mean   :2.259  
##                     3rd Qu.:  18.0                      3rd Qu.:2.000  
##                     Max.   :9999.0                      Max.   :5.000  
##    Nom_Zona          Nombre_Vols    
##  Length:51250       Min.   :  1.00  
##  Class :character   1st Qu.:  4.00  
##  Mode  :character   Median :  8.00  
##                     Mean   : 19.23  
##                     3rd Qu.: 15.00  
##                     Max.   :216.00

Descripció de cada variable del dataset.

tibble(
variable = names(dades),
tipus = sapply(dades, class)
)
## # A tibble: 6 × 2
##   variable        tipus    
##   <chr>           <chr>    
## 1 Data_Referencia character
## 2 Codi_Companyia  integer  
## 3 Nom_Companyia   character
## 4 Codi_Zona       integer  
## 5 Nom_Zona        character
## 6 Nombre_Vols     integer
Variable Tipus Descripció Valors possibles / rang
Data_Referencia character La data del vol Dades d’un any
Codi_Companyia numèrica El codi que està atribuït a cada companyia 1–20, 22, 28, 31, 36, 41, 52, 9999
Nom_Companyia character Nom de la companyia -
Codi_Zona numèrica Codi atrïbuit a cada zona aèria 1-5
Nom_Zona character Nom de la zona aèria -
Nombre_Vols numèrica Nombre de vols fetes per una companyia en una zona aèria concreta 1–300 (aprox)

3. Plantejament de la hipòtesi

Hipòtesi nul·la (H₀): El nombre mitjà mensual de vols durant el 2020 és igual al del període 2021–2024.

Hipòtesi alternativa (H₁): El nombre mitjà mensual de vols durant el 2020 és significativament inferior al del període 2021–2024.

L’anàlisi es planteja principalment des d’un punt de vista descriptiu i temporal, comparant períodes abans i després de l’impacte de la pandèmia.

Atès que l’objectiu principal és observar l’evolució temporal i l’impacte d’un esdeveniment excepcional (COVID-19), s’ha optat per una anàlisi descriptiva basada en resums estadístics i representacions gràfiques.

Mètodes i procediment

L’anàlisi s’ha dut a terme mitjançant una anàlisi descriptiva del nombre de vols mensuals.

S’han utilitzat:

  • Gràfics temporals per observar l’evolució al llarg del temps.

  • Estadístics descriptius (mitjana, mediana, desviació estàndard i quartils).

  • Boxplots per comparar la distribució dels vols entre anys.

4. Exploració inicial de les dades

# 2. Eliminar files sense data o nombre de vols
dades <- dades[!is.na(dades$Data_Referencia) & !is.na(dades$Nombre_Vols), ]

# 3. Convertir la data a format Data
dades$Data_Referencia <- as.Date(dades$Data_Referencia, format = "%d/%m/%Y")

# 4. Extreure l'any
dades$Any <- format(dades$Data_Referencia, "%Y")

# 5. Agrupar per any i sumar vols
vols_any <- tapply(dades$Nombre_Vols, dades$Any, sum)

library(dplyr)
library(lubridate)
library(ggplot2)

# 📌 Importar i netejar
dades <- read.csv("Vols_ElPrat.csv", na.strings = c("", " ", "NA")) %>%
  drop_na(Data_Referencia)

dades$Data_Referencia <- as.Date(dades$Data_Referencia, format = "%d/%m/%Y")

# 📌 Filtrar de 2020 a 2024
dades_filtre <- dades %>%
  filter(year(Data_Referencia) %in% 2020:2024) %>%
  mutate(
    Any = year(Data_Referencia),
    Mes = month(Data_Referencia),
    Any_Mes = as.Date(paste0(Any, "-", Mes, "-01"))
  )

# 📌 Agrupar per mes
vols_mes_any <- dades_filtre %>%
  group_by(Any_Mes) %>%
  summarise(Vols = sum(Nombre_Vols), .groups = "drop")

# 📌 Dates clau COVID
dates_clau <- data.frame(
  data = as.Date(c("2020-02-01", "2020-08-01", "2021-06-01", "2022-06-01")),
  etiqueta = c(
    "Inici COVID",
    "Segona onada",
    "Recuperació",
    "Retorn a la\nnormalitat"
  )
)

# 📈 Gràfic amb anotacions
ggplot(vols_mes_any, aes(x = Any_Mes, y = Vols)) +
  geom_line(color = "steelblue", linewidth = 1.2) +
  geom_point(color = "steelblue", size = 2) +
  
  # Línies verticals
  geom_vline(
    data = dates_clau,
    aes(xintercept = data),
    linetype = "dashed",
    color = "red",
    linewidth = 0.8
  ) +
  
  # Etiquetes
  annotate(
    "text",
    x = dates_clau$data,
    y = max(vols_mes_any$Vols) * 0.9,
    label = dates_clau$etiqueta,
    angle = 90,
    vjust = -0.5,
    size = 3.5,
    color = "red"
  ) +
  
  labs(
    title = "Evolució mensual dels vols amb punts clau del COVID",
    x = "Any",
    y = "Nombre de vols"
  ) +
  theme_minimal() +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    plot.title = element_text(face = "bold", size = 16)
  )

A partir del gràfic de l’evolució mensual dels vols, s’observa clarament que l’any 2020 presenta el nombre mínim de vols en comparació amb els anys posteriors. Aquesta caiguda coincideix amb l’inici de la pandèmia de la COVID-19 i les restriccions a la mobilitat.

El descens és especialment notable a principis del 2020, quan l’impacte del virus comença a ser evident, i s’accentua durant els mesos següents amb la imposició del confinament. A partir del 2021, el nombre de vols mostra una tendència creixent que es consolida durant els anys 2022, 2023 i 2024.

5. Anàlisi descriptiva

vols_mes <- dades %>%
mutate(
Any = format(Data_Referencia, "%Y"),
Mes = format(Data_Referencia, "%m")
) %>%
group_by(Any, Mes) %>%
summarise(Total_Mes = sum(Nombre_Vols), .groups = "drop")

stats_per_any <- vols_mes %>%
group_by(Any) %>%
summarise(
Mitjana_Mensual = mean(Total_Mes),
Mediana_Mensual = median(Total_Mes),
Desviacio_Mensual = sd(Total_Mes),
Min_Mensual = min(Total_Mes),
Max_Mensual = max(Total_Mes),
Quartils = list(quantile(Total_Mes))
)

stats_per_any
## # A tibble: 5 × 7
##   Any   Mitjana_Mensual Mediana_Mensual Desviacio_Mensual Min_Mensual
##   <chr>           <dbl>           <dbl>             <dbl>       <int>
## 1 2020            7768.            7202             5943.         758
## 2 2021           10530.           12126             6063.        2242
## 3 2022           18998            20738             3884.       11724
## 4 2023           21530.           22070             2390.       17117
## 5 2024           23316.           24341             2379.       19239
## # ℹ 2 more variables: Max_Mensual <int>, Quartils <list>
mitjana_mes_any <- vols_mes %>%
group_by(Any) %>%
summarise(Mitjana_Vols_Mensual = mean(Total_Mes))

mitjana_mes_any
## # A tibble: 5 × 2
##   Any   Mitjana_Vols_Mensual
##   <chr>                <dbl>
## 1 2020                 7768.
## 2 2021                10530.
## 3 2022                18998 
## 4 2023                21530.
## 5 2024                23316.
vols_mes %>% group_by(Any) %>% summarise(Mediana = median(Total_Mes))
## # A tibble: 5 × 2
##   Any   Mediana
##   <chr>   <dbl>
## 1 2020     7202
## 2 2021    12126
## 3 2022    20738
## 4 2023    22070
## 5 2024    24341
vols_mes %>% group_by(Any) %>% summarise(Desviacio = sd(Total_Mes))
## # A tibble: 5 × 2
##   Any   Desviacio
##   <chr>     <dbl>
## 1 2020      5943.
## 2 2021      6063.
## 3 2022      3884.
## 4 2023      2390.
## 5 2024      2379.
vols_mes %>%
group_by(Any) %>%
summarise(Quartils = list(quantile(Total_Mes)))
## # A tibble: 5 × 2
##   Any   Quartils 
##   <chr> <list>   
## 1 2020  <dbl [5]>
## 2 2021  <dbl [5]>
## 3 2022  <dbl [5]>
## 4 2023  <dbl [5]>
## 5 2024  <dbl [5]>
ggplot(vols_mes, aes(x = factor(Any, levels = sort(unique(Any))), 
                     y = Total_Mes, 
                     fill = Any)) +
  geom_boxplot() +
  labs(
    title = "Distribució dels vols mensuals totals per any",
    x = "Any",
    y = "Vols mensuals totals"
  ) +
  theme_minimal()

L’anàlisi de les mesures descriptives mostra que tant la mitjana com la mediana del nombre de vols mensuals són molt inferiors l’any 2020 en comparació amb la resta d’anys, fet que reforça l’impacte directe de la pandèmia.

A partir del 2021 s’observa una recuperació progressiva, amb un augment notable el 2022 i una estabilització durant els anys 2023 i 2024. Aquest fet queda reflectit en l’increment de les medianes i en la disminució de la variabilitat (desviació estàndard), indicant un trànsit aeri més estable.

El nombre de vols a l’aeroport del Prat va disminuir de manera significativa durant l’any 2020 a causa de la pandèmia de la COVID-19 i ha anat augmentant progressivament entre el 2021 i el 2024, fins a assolir nivells similars o superiors als previs a la pandèmia.

Existeix una relació clara entre les variables Any i Nombre de vols, ja que el volum de vols mensuals varia significativament al llarg del temps. En particular, s’observa una forta caiguda l’any 2020 seguida d’un augment progressiu entre el 2021 i el 2024, fet que indica una relació temporal directa entre l’any i el nombre de vols.

6. Conclusió preliminar i pròximes passes

Resultats

  1. L’impacte de la pandèmia (2020): Les dades mostren una caiguda molt pronunciada en el nombre de vols durant el 2020. Aquesta reducció és especialment visible entre febrer i juny, coincidint amb l’arribada de la COVID-19 i les restriccions a la mobilitat internacional.

  2. Recuperació progressiva (2021–2024): A partir del 2021 s’observa un petit creixement dels vols, donant entendre que es va mantenint constant A més, una recuperació notable el 2022 i una estabilització el 2023 i 2024. El 2024 presenta les medianes i mitjanes mensuals més altes de tot el període estudiat.

  3. Evolució del període estudiat: Tot i els canvis provocats per la pandèmia, els anys posteriors es veu com el trànsit aeri s’ha estabilitzat.

  4. Relació temporal clara: La variable Any està fortament vinculada al Nombre de vols, es mostra una tendència creixent després del punt crític del 2020.

Limitacions

Volum limitat: només inclou un aeroport i un conjunt relativament petit d’anys (2020–2024), fet que pot dificultar generalitzacions.