Fjelstul Worldcup R Package ((full)) ★

The data frame matches became legendary. Then cards . Then goals . Then substitutions . Then penalty_shootouts . Each one a layer of geological time, preserving the sediment of football history: Miroslav Klose's 16 goals, the phantom "goal" of 1966, the 2002 South Korea run that statisticians still argue about.

He didn't sue. He didn't tweet. He just updated the package to version 2.0.0, adding a new dataset: officiating_decisions_with_context .

It was 3:00 AM in Oslo, but Joshua Fjelstul wasn't sleeping. He was staring at a spreadsheet that had grown like a cancerous vine across his screen: 52 columns wide, 70,000 rows deep. It was the complete history of every foul, every offside call, every yellow card, and every substituted player in every FIFA World Cup match since 1930. fjelstul worldcup r package

install.packages("fjelstul") library(fjelstul) worldcup::matches %>% filter(tournament == "2022") %>% count(winner) Her screen filled with rows. Not just winners—but every pass, every foul, every heartbeat of the tournament. She didn't see a package. She saw a cathedral built by one person's stubborn refusal to let history vanish into PDFs.

The problem started simply enough. He was a PhD student researching European legal integration, but the 2018 World Cup had just ended. France had beaten Croatia 4-2. And like millions of others, Joshua found himself arguing with a friend: "Who actually committed the most fouls in a single final?" The official FIFA records were PDFs. Broken links. Inconsistent languages. One year, they tracked "dangerous play"; the next, they switched to "unsporting behavior." The data frame matches became legendary

Not for fame. Not for money. He built it the way a medieval monk illuminated a manuscript: one obsessively cleaned observation at a time. He wrote R scripts that scraped Wikipedia tables, then cross-referenced them with RSSSF archives, then manually corrected the mismatches. When he found that the 1934 Italy-Spain replay match had different substitution rules than the first match, he didn't rage-quit. He added a substitution_rule column.

So Joshua built the fjelstul package.

A journalist used fjelstul to prove that red cards were 40% more likely in knockout matches when the referee was from a nation with a colonial history over one of the teams. A high school teacher in Brazil taught probability using the distribution of hat-tricks. A data artist made a sonification of every World Cup goal—each country assigned a musical note, each tournament a movement.