De stiptheid van de Belgische spoorwegen blijft een gevoelig punt. Infrabel deelt via zijn Open Data1 geneutraliseerde cijfers van de stiptheid. Geneutraliseerd betekent dat vertragingen ten gevolge van kabeldiefstallen, agressie, … niet werden meegerekend.

Een NMBS Desiro trein in Brugge.

Een NMBS Desiro trein in Brugge.

Gegeven

Maak gebruik van deze dataset2, die je kan inlezen via:

# Stiptheidsscijfers Infrabel
data <- read.csv("https://opendata.infrabel.be/api/explore/v2.1/catalog/datasets/nationale-stiptheid-per-maand/exports/csv",
                 sep = ";", header = TRUE,
                 colClasses = c("NULL", "character", rep("numeric", 5)))
# De kolommen hernoemen
colnames(data) <- c("maand", "stiptheid", "aantal", "aantal_min_6", "totale_min_vertraging", "stiptheid_neutr")
data <- data[order(data$maand, decreasing = TRUE),]
rownames(data) <- seq_len(nrow(data))

Via head(data) krijg je een overzicht van de dataset.

    maand stiptheid aantal aantal_min_6 totale_min_vertraging stiptheid_neutr
1 2023-09  86.67903 109977        95327                278705        90.36799
2 2023-08  91.57860 109198       100002                198969        93.86069
3 2023-07  91.12832 105865        96473                196968        93.66741
4 2023-06  86.68081 110735        95986                280513        90.15397
5 2023-05  87.04084 108703        94616                272652        90.66447
6 2023-04  88.59739 101810        90201                232711        91.82399

De kolom stiptheid stelt de stiptheidscijfers voor (in procenten), stiptheid_neutr stelt de stiptheid na neutralisatie voor. Deze cijfers zijn dus beter.

Er is ook een kolom totale_min_vertraging met het totale aantal minuten vertraging. De kolom aantal geeft het totale aantal treinritten en aantal_min_6 geeft het aantal treinritten met minder dan 6 minuten vertraging.

Gevraagd