I have been looking at the player tracking data shared on the official World Cup website.
With an awareness of the limitations and potential accuracy of the data, I have compiled some basic R visualisations of the data for France and Croatia.
Going into the Final, the FIFA data suggest that in the tournament, the French team has traversed approximately 607,462 metres (a median distance per game of 102,193 metres) and Croatia 723,909 metres (a median distance per game of 118, 220 metres).
All three of Croatia’s knockout games have required extra time. In the semi final against England, Croatia traversed the most distance in any of their games (143,286 metres). In contrast, the data for France’s semi final indicate that they traversed 101,609 metres.
I have aggregated a record of each team’s tracking data on GitHub.
Three French players (Antoine Griezmann, Ngolo Kante and Paul Pogba) have tracking data of over 10,000 metres in knockout games (Antoine and Ngolo twice each and Paul once). No French player exceeded 10,000 metres in the game against Argentina.
In contrast, nine Croatian players have traversed over 10,000 metres. Marcelo Brozovic covered 16,339 metres in the game against England.
The distances traversed by players from Croatia and France are:
In terms of distance order:
Players traversing > 13000 metres per game:
Under 11,000 metres per game:
Why Brozovic could be the key man for Croatia (The Times, 10 July 2018)
My R code is very basic. I am using the World Cup data to develop my use of R.
I am using R version 3.5.1 in RStudio. For the plots, I used the
ggrepel packages. I followed guidelines provided by Garrick Aden-Buie ( Grammar) and Kamil Slowikowski (
#install.packages for ggplot2 and ggrepel
#df is my source file (28 observations of 5 variables)
ggplot(df, aes(Opponent, Distance, label = Player)) +
data = subset(df, Distance > 13000),
nudge_y = 17000 – subset(df, Distance > 13000)$Distance,
segment.size = 0.2,
segment.color = “grey50”,
direction = “x”
geom_point(color = ifelse(df$Distance > 13000, “red”, “black”)) +
scale_y_continuous(limits = c(10000, 17000)) +
labs(title=“World Cup Finalists 2018”, subtitle=“Distances Traversed in the Knockout Phase > 13000 Metres”, x=“Opponent”, y=“Distances Traversed Per Game (Metres)”)