Na het zien van de loting vroeg ik mij af:
Daarna besloten om de transferwaarde of marktwaarde van de teams tegenoverelkaar te zetten.
# Colors
volkskrant_kleurenpalet <- c(
`pink` = "#D0426A", # Economie
`blue` = "#0096D9", # Nieuws
`light green` = "#E2E41A", # Highlight grafieken
`yellow` = "#FFD400", # Highlight kaarten
`green` = "#95BC45", # Sport
`red` = "#D93B2B" # Signaalkleur
)
# Functie om later in ggplot2 charts te gebruiken
vk_colors <- function(...) {
cols <- c(...)
if (is.null(cols))
return (volkskrant_kleurenpalet)
volkskrant_kleurenpalet[cols]
}
mv_df <- read_csv("data/top_100_market_value.csv")
teams <- tribble(~Club, ~poule, ~pot,
"Real Madrid", "G", 1,
"Atlético Madrid", "A", 1,
"FC Barcelona", "B", 1,
"Bayern Munich", "E", 1,
"Manchester City", "F", 1,
"Juventus FC", "H", 1,
"Paris Saint-Germain", "C", 1,
"Lokomotiv Moscow", "D", 1,
"Borussia Dortmund", "A", 2,
"FC Porto", "D", 2,
"Manchester United", "H", 2,
"Shakhtar Donetsk", "F", 2,
"SL Benfica", "E", 2,
"SSC Napoli", "C", 2,
"Tottenham Hotspur", "B", 2,
"AS Roma", "G", 2,
"Liverpool FC", "C", 3,
"FC Schalke 04", "D", 3,
"Olympique Lyon", "F", 3,
"AS Monaco", "A", 3,
"Ajax Amsterdam", "E", 3,
"CSKA Moscow", "G", 3,
"PSV Eindhoven", "B", 3,
"Valencia CF", "H", 3,
"Viktoria Plzen", "G", 4,
"Club Brugge KV", "A", 4,
"Galatasaray SK", "D", 4,
"BSC Young Boys", "H", 4,
"Inter Milan", "B", 4,
"TSG 1899 Hoffenheim", "F", 4,
"Red Star Belgrade", "C", 4,
"AEK Athene", "E", 4)
Data is afkomstig van transfermarkt.com (30-08-2018). Als je de rauwe data nodig hebt kan je bij onderstaande tabel het Show
drop-down menutje op 32 (aantal teams) zet kan je de data selecteren en kopieëren naar een spreadsheet.
champ_teams <- mv_df %>%
filter(Club %in% teams$Club) %>%
select(-c(1,8,9)) %>%
left_join(teams, by = "Club") %>%
mutate(poule = paste("Poule", poule, sep = " "),
mv_per_player = round(mv_per_player)) %>%
select(Club, pot, poule, everything())
champ_teams %>%
arrange(pot) %>%
DT::datatable(options = list(pageLength = 8))
champ_teams %>%
group_by(poule) %>%
summarise(mv_per_poule = sum(market_value)) %>%
ggplot(aes(x = reorder(poule, mv_per_poule),
y = mv_per_poule, fill = poule)) +
geom_col() +
geom_text(aes(label = mv_per_poule),
nudge_y = 150) +
coord_flip() +
ggthemes::scale_fill_tableau() +
labs(title = "Welke poule heeft de hoogste marktwaarde\nen is dus de betere poule?",
subtitle = "Keer miljoen €.",
x = "",
y = "")
Opvallend: Als je naar de marktwaarde per team kijkt heeft PSV de sterkste poule. Ajax darintegen heeft de op één na zwakste poule.
champ_teams %>%
ggplot(aes(x = reorder(Club, market_value),
y = market_value)) +
geom_col(fill = vk_colors("pink")) +
geom_text(aes(label = market_value),
nudge_y = 65) +
coord_flip() +
theme(axis.text.x = element_blank()) +
labs(title = "Marktwaarde per team",
subtitle = "Keer miljoen €.",
x = "",
y = "")
champ_teams %>%
ggplot(aes(x = reorder(Club, -pot),
y = market_value,
fill = poule)) +
geom_col() +
geom_text(aes(label = market_value),
nudge_y = 65) +
coord_flip() +
facet_wrap(~poule,
scales = "free_y",
ncol = 2) +
ggthemes::scale_fill_tableau() +
labs(title = "Totale marktwaarde van teams",
subtitle = "Keer miljoen euro. Gesorteerd op pot (pot 1 bovenaan pot 4 onderaan).",
caption = "Bron data: transfermarkt.com",
x = "",
y = "")
Opvallend: Poule A
heeft als je naar de teams in pot 1 t/m 4 kijkt ook een daaropvolgend representatieve waarde. Net als ook Poule G
.
champ_teams %>%
ggplot(aes(x = reorder(Club, market_value),
y = market_value,
fill = poule)) +
geom_col() +
geom_text(aes(label = market_value),
nudge_y = 65) +
coord_flip() +
facet_wrap(~ poule,
scales = "free_y",
ncol = 2) +
ggthemes::scale_fill_tableau() +
labs(title = "Marktwaarde van teams",
subtitle = "Omdat sommige clubs meer spelers bezitten zie je hier:\nTotale marktwaarde spelers / aantal contractspelers",
caption = "Bron data: transfermarkt.com",
x = "",
y = "")
Omdat sommige clubs meer spelers bezitten: Marktwaarde / aantal spelers in team
champ_teams %>%
ggplot(aes(x = reorder(Club, -pot),
y = mv_per_player,
fill = poule)) +
geom_col() +
geom_text(aes(label = mv_per_player),
nudge_y = 2) +
coord_flip() +
facet_wrap(~ poule,
scales = "free_y",
ncol = 2) +
ggthemes::scale_fill_tableau() +
labs(title = "Marktwaarde van teams",
subtitle = "Omdat sommige clubs meer spelers bezitten zie je hier:\nTotale marktwaarde spelers / aantal contractspelers * €miljoen",
caption = "Bron data: transfermarkt.com",
x = "",
y = "")
Opvallend: Ook relatief gezien heeft Barcelona een team wat het meeste waard is. Dit komt ook doordat ze maar 23 spelers hebben.
champ_teams %>%
ggplot(aes(x = reorder(Club, -age_mean), age_mean)) +
geom_col(fill = vk_colors("pink"),
size = 4) +
geom_text(aes(label = age_mean),
nudge_y = 1.5) +
coord_flip() +
labs(title = "PSV heeft het jongste team in de Champions League",
subtitle = "Ajax heeft het op twee na jongste team. Gemiddelde leeftijd spelers",
x = "",
y = "")
Opvallend: PSV heeft het jongste team, maar ook Ajax maakt zijn reputatie waar als het om jeugdigdheid gaat. Viktoria Plzen, Lokomotiv Morcow, Juventus en Inter Milaan hebben de oudste teams met gemiddeld zo’n 28 jaar.