Top 20 ports - passengers embarked and disembarked in each port, by direction - mar_mp_aa_pphd
Data - Eurostat
Info
Last observation: Annual: 2024 (N = 168)
First observation: Annual: 2005 (N = 87)
Last data update: 11 aoû 2026, 19:22. Last compile: 12 aoû 2026, 01:20
Structure
Top 20 Ports: Total Passenger Traffic
Code
mar_mp_aa_pphd |>
filter(rep_mar == "TOP_20",
unit == "THS_PAS",
direct == "TOTAL") |>
year_to_date() |>
mutate(values = values/1000) |>
ggplot() + geom_line(aes(x = date, y = values)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(2000, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Passengers, Top 20 ports (Millions)")
Busiest Individual Ports
Code
mar_mp_aa_pphd |>
filter(rep_mar %in% c("IT_0ITMSN", "IT_0ITREG", "IT_0ITNAP", "EL_0GRPIR", "FI_0FIHEL"),
unit == "THS_PAS",
direct == "TOTAL") |>
year_to_date() |>
ggplot() + geom_line(aes(x = date, y = values, color = Rep_mar)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(2000, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.title = element_blank()) +
xlab("") + ylab("Passengers (Thousands)")
Conteneurs
Table
Code
mar_mp_aa_pphd |>
filter(unit == "THS_PAS",
time == "2019") |>
select( -unit, -time) |>
select(-direct) |>
spread(Direct, values) |>
arrange(-Total) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}