Begin februari kon je in de krant lezen: “Stiptheid bij NMBS blijft historisch laag: meer dan 6000 treinen afgeschaft in januari”. Gelukkig biedt Infrabel een kijkje in hun gegevens via hun open data portaal.

De volgende code vraagt de bezetting op.
# Benodigde bibliotheken
library('jsonlite')
library('httr')
# Importeert de data van Infrabel
res <- GET("https://opendata.infrabel.be/api/explore/v2.1/catalog/datasets/nationale-stiptheid-per-moment-en-per-maand/records?select=sum(min_rt)%20as%20totaal_min%2Csum(tel)%20as%20totaal_trein%2Csum(reg)%20as%20totaal_trein_stipt&group_by=maand")
data <- fromJSON(rawToChar(res$content))$results
data$maand <- as.Date(data$maand)
via head(data) krijgen we een overzicht van deze gegevens:
maand totaal_min totaal_trein totaal_trein_stipt
1 2016-01-01 212787 100033 89899
2 2016-02-01 203292 102233 92905
3 2016-03-01 209805 104678 94993
4 2016-04-01 195684 99369 89996
5 2016-05-01 210082 91478 81611
6 2016-06-01 261317 96715 84004
totaal_min stelt het totale aantal minuten vertraging per maand voor, totaal_trein het totale aantal treinen dat reed en totaal_trein_stipt het totale aantal treinen dat zonder (noemenswaardige) vertraging reed.
Maak onderstaand histogram met de gemiddelde vertraging.
trein_vertraging aan, waarin je per maand berekent hoeveel treinen er wel (noemenswaardige) vertraging hadden.minuten_vertraging en rond af op 2 cijfers na de komma.xmin en xmax. In xmin bewaar je de kleinste waarde van dit gemiddeld aantal minuten vertraging. Rond hierbij naar beneden af via floor(). Doe hetzelfde voor xmax, maar rond daarbij naar boven af via ceiling().cadetblue als kleur. Gebruik xlim = c(xmin - 1, xmax + 1) om voldoende marge te hebben op de x-as.
