|
| 1 | +library(tidyverse) |
| 2 | + |
| 3 | + |
| 4 | +games <- read.csv("data/athlete_events.csv") |
| 5 | +noc <- read.csv("data/noc_regions_continents.csv") |
| 6 | +games <- left_join(games, noc, by="NOC") |
| 7 | + |
| 8 | +games <- games %>% |
| 9 | + mutate(Gender=case_when(Sex == "F" ~ "Female", |
| 10 | + TRUE ~ "Male")) %>% |
| 11 | + group_by(Games) %>% |
| 12 | + mutate(N_sports_by_games=n_distinct(Sport), |
| 13 | + N_events_by_games=n_distinct(Event)) %>% |
| 14 | + group_by(Games, Gender) %>% |
| 15 | + mutate(N_athletes_by_games_gender=n_distinct(ID)) %>% |
| 16 | + ungroup() |
| 17 | + |
| 18 | +countries <- games %>% |
| 19 | + group_by(Games, Season, Year, NOC_name, Continent) %>% |
| 20 | + summarise(N_athletes_by_games_NOC_name=n_distinct(ID), |
| 21 | + N_sports_by_games_NOC_name=n_distinct(Sport), |
| 22 | + N_events_by_games_NOC_name=n_distinct(Event)) %>% |
| 23 | + ungroup() %>% |
| 24 | + complete(nesting(Games, Season, Year), nesting(NOC_name, Continent), |
| 25 | + fill=list(N_athletes_by_games_NOC_name=0, |
| 26 | + N_sports_by_games_NOC_name=0, |
| 27 | + N_events_by_games_NOC_name=0)) |
| 28 | + |
| 29 | +cities_games <- unique(games[, c("Games", "City")]) %>% |
| 30 | + filter(!(Games == "1956 Summer" & City == "Stockholm")) |
| 31 | + |
| 32 | +countries <- left_join(countries, cities_games, by="Games") |
| 33 | + |
| 34 | +countriesToSeason <- function(season) { |
| 35 | + countries %>% |
| 36 | + filter(Season == season) %>% |
| 37 | + droplevels() %>% |
| 38 | + group_by(NOC_name) %>% |
| 39 | + filter(any(N_athletes_by_games_NOC_name > 0)) %>% |
| 40 | + ungroup() |
| 41 | +} |
| 42 | + |
| 43 | +summer_countries <- countriesToSeason("Summer") |
| 44 | +winter_countries <- countriesToSeason("Winter") |
| 45 | + |
| 46 | +summer <- games %>% |
| 47 | + filter(Season == "Summer") %>% |
| 48 | + droplevels() %>% |
| 49 | + distinct(City, Year, Games) %>% |
| 50 | + arrange(Games) %>% |
| 51 | + filter(!(City == "Stockholm" & Games == "1956 Summer")) %>% |
| 52 | + mutate(City_games=paste(City, Games)) |
| 53 | + |
| 54 | +winter <- games %>% |
| 55 | + filter(Season == "Winter") %>% |
| 56 | + droplevels() %>% |
| 57 | + distinct(City, Year, Games) %>% |
| 58 | + arrange(Games) %>% |
| 59 | + mutate(City_games=paste(City, Games)) |
| 60 | + |
| 61 | +summerYrs <- as.character(summer$Year) |
| 62 | +winterYrs <- as.character(winter$Year) |
| 63 | +summerCityGames <- summer$City_games |
| 64 | +winterCityGames <- winter$City_games |
| 65 | + |
| 66 | +games <- games %>% |
| 67 | + mutate(region=NULL, |
| 68 | + notes=NULL) %>% |
| 69 | + select(ID, Name, Sex, Gender, Age, Height, Weight, |
| 70 | + Team, NOC, NOC_name, Continent, everything()) |
| 71 | + |
| 72 | +save(games, summer_countries, winter_countries, cities_games, |
| 73 | + summerYrs, winterYrs, summerCityGames, winterCityGames, |
| 74 | + file="olympics_evolution/data_for_app/Olympics.RData") |
0 commit comments