library(tidyverse)
library(ggplot2)
library(rvest)
library(dplyr)
library(plotly)

Are humans getting faster? Or is it that more are participating?

100m Mens and Womens races in the Olympics over the last 100 years

Adidas, established in Herzogenaurach, Germany in 1949. Founded by Adolf “Adi” Dassler and brother Rudolf they developed spiked running shoes (spikes) for multiple athletic events. To enhance the quliaty of spiked athletic footwear, he transitioned from a previous model of heavy metal spikes to utilizing canvas and rubber. 1936 they convinced sprinter Jesse Owens to use the hand made spikes at the 1936 Summer Olympics (received 4 gold medals)
Nike, established in Eugene, OR 1964. Originally known as “Blue Ribbon Sports (BRS)” founded at U of O track athlete Phil Knight and his coach Bill Bowerman. The company initially operated in Eugene, OR as a distributor for Japanese shoe maker Onitsuka Tiger, making most sales at track meets out of Knights car. Otis Davis, 1960 Olympic gold medalist, claims Bowerman made the first pair of Nike shoes for him contradicting a claim they were made for Phil Knight.
Reebok, established in Bolton, UK in 1958 - In 1895 Joseph William Foster designed earliest spiked running shoes in the beginning. Opened a small factory called Olympic Works and became famous for “running pumps”. The company began distributing shoes across the Union Jack flag worn by British athletes. They were made amous by 100m champion Harold Abrahams in the 1924 Paris Olympics (Chariots of Fire). 1958 founded “Reebok” (after a type of African antelope)

Rio de Janeiro 2016

rio_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_2016_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-rio_men_100m%>%html_table(fill=TRUE)
rio_men_100m_1<-tables[[11]]
rio_men_100m_2<-tables[[12]]
rio_men_100m_3<-tables[[13]]
rio_men_100m_4<-tables[[14]]
rio_men_100m_5<-tables[[15]]
rio_men_100m_6<-tables[[16]]
rio_men_100m_7<-tables[[17]]
rio_men_100m_8<-tables[[18]]
rio_men_100m_9<-tables[[19]]
rio_men_100m_10<-tables[[20]]
rio_men_100m_11<-tables[[21]]
rio_men_100m_12<-tables[[22]]

rio_men_100m_1 <- rio_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
rio_men_100m_2 <- rio_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
rio_men_100m_3 <- rio_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
rio_men_100m_4 <- rio_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
rio_men_100m_5 <- rio_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
rio_men_100m_6 <- rio_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
rio_men_100m_7 <- rio_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
rio_men_100m_8 <- rio_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
rio_men_100m_9 <- rio_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
rio_men_100m_10 <- rio_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
rio_men_100m_11 <- rio_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
rio_men_100m_12 <- rio_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

rio_men_100m_all <- bind_rows(rio_men_100m_1, rio_men_100m_2, rio_men_100m_3, rio_men_100m_4, rio_men_100m_5, rio_men_100m_6, rio_men_100m_7, rio_men_100m_8, rio_men_100m_9, rio_men_100m_10, rio_men_100m_11, rio_men_100m_12)

rio_men_100m_all <- rio_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=2016,"Host City" ="Rio de Janeiro", "Host Country"="Brazil")

rio_men_100m_all[92, 1] <- "Gold"
rio_men_100m_all[93, 1] <- "Silver"
rio_men_100m_all[94, 1] <- "Bronze"

head(rio_men_100m_all)
##   Rank Lane         Athlete        Nation Reaction  Time Notes Heat Year
## 1    1    3  Kemarley Brown       Bahrain    0.146 10.13     Q    1 2016
## 2    2    5   Chijindu Ujah Great Britain    0.150 10.13     Q    1 2016
## 3    3    7    Marvin Bracy United States    0.155 10.16     q    1 2016
## 4    4    2   Seye Ogunlewe       Nigeria    0.139 10.26          1 2016
## 5    5    1    Femi Ogunode         Qatar    0.170 10.28          1 2016
## 6    6    8 Sean Safo-Antwi         Ghana    0.145 10.43          1 2016
##        Host City Host Country
## 1 Rio de Janeiro       Brazil
## 2 Rio de Janeiro       Brazil
## 3 Rio de Janeiro       Brazil
## 4 Rio de Janeiro       Brazil
## 5 Rio de Janeiro       Brazil
## 6 Rio de Janeiro       Brazil

London 2012

lon12_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_2012_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-lon12_men_100m%>%html_table(fill=TRUE)
lon12_men_100m_1<-tables[[12]]
lon12_men_100m_2<-tables[[13]]
lon12_men_100m_3<-tables[[14]]
lon12_men_100m_4<-tables[[15]]
lon12_men_100m_5<-tables[[16]]
lon12_men_100m_6<-tables[[17]]
lon12_men_100m_7<-tables[[18]]
lon12_men_100m_8<-tables[[19]]
lon12_men_100m_9<-tables[[20]]
lon12_men_100m_10<-tables[[21]]
lon12_men_100m_11<-tables[[22]]

lon12_men_100m_1 <- lon12_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
lon12_men_100m_2 <- lon12_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
lon12_men_100m_3 <- lon12_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
lon12_men_100m_4 <- lon12_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
lon12_men_100m_5 <- lon12_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
lon12_men_100m_6 <- lon12_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
lon12_men_100m_7 <- lon12_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
lon12_men_100m_8 <- lon12_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
lon12_men_100m_9 <- lon12_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
lon12_men_100m_10 <- lon12_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
lon12_men_100m_11 <- lon12_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

lon12_men_100m_all <- bind_rows(lon12_men_100m_1, lon12_men_100m_2, lon12_men_100m_3, lon12_men_100m_4, lon12_men_100m_5, lon12_men_100m_6, lon12_men_100m_7, lon12_men_100m_8, lon12_men_100m_9, lon12_men_100m_10, lon12_men_100m_11)

lon12_men_100m_all <- lon12_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=2012,"Host City" ="London", "Host Country"="United Kingdom")

lon12_men_100m_all[78, 1] <- "Gold"
lon12_men_100m_all[79, 1] <- "Silver"
lon12_men_100m_all[80, 1] <- "Bronze"

head(lon12_men_100m_all)
##   Rank Lane               Athlete              Nation Reaction  Time Notes Heat
## 1    1    6             Tyson Gay       United States    0.147 10.08     Q    1
## 2    2    5      Richard Thompson Trinidad and Tobago    0.151 10.14     Q    1
## 3    3    7          Gerald Phiri              Zambia    0.147 10.16 Q, SB    1
## 4    4    3   Jaysuma Saidy Ndure              Norway    0.166 10.28          1
## 5    5    4 Ángel David Rodríguez               Spain    0.168 10.34          1
## 6    6    2         Jurgen Themen            Suriname    0.169 10.53          1
##   Var.8 Year Host City   Host Country
## 1  <NA> 2012    London United Kingdom
## 2  <NA> 2012    London United Kingdom
## 3  <NA> 2012    London United Kingdom
## 4  <NA> 2012    London United Kingdom
## 5  <NA> 2012    London United Kingdom
## 6  <NA> 2012    London United Kingdom

Beijing 2008

bei_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_2008_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-bei_men_100m%>%html_table(fill=TRUE)
bei_men_100m_1<-tables[[7]]
bei_men_100m_2<-tables[[8]]
bei_men_100m_3<-tables[[9]]
bei_men_100m_4<-tables[[10]]
bei_men_100m_5<-tables[[11]]
bei_men_100m_6<-tables[[12]]
bei_men_100m_7<-tables[[13]]
bei_men_100m_8<-tables[[14]]
bei_men_100m_9<-tables[[15]]
bei_men_100m_10<-tables[[16]]
bei_men_100m_11<-tables[[17]]
bei_men_100m_12<-tables[[18]]
bei_men_100m_13<-tables[[19]]
bei_men_100m_14<-tables[[20]]
bei_men_100m_15<-tables[[21]]
bei_men_100m_16<-tables[[22]]
bei_men_100m_17<-tables[[23]]
bei_men_100m_18<-tables[[25]]


bei_men_100m_1 <- bei_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
bei_men_100m_2 <- bei_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
bei_men_100m_3 <- bei_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
bei_men_100m_4 <- bei_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
bei_men_100m_5 <- bei_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
bei_men_100m_6 <- bei_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
bei_men_100m_7 <- bei_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
bei_men_100m_8 <- bei_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
bei_men_100m_9 <- bei_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
bei_men_100m_10 <- bei_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
bei_men_100m_11 <- bei_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
bei_men_100m_12 <- bei_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
bei_men_100m_13 <- bei_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
bei_men_100m_14 <- bei_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
bei_men_100m_15 <- bei_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
bei_men_100m_16 <- bei_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
bei_men_100m_17 <- bei_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
bei_men_100m_18 <- bei_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

bei_men_100m_all <- bind_rows(bei_men_100m_1, bei_men_100m_2, bei_men_100m_3, bei_men_100m_4, bei_men_100m_5, bei_men_100m_6, bei_men_100m_7, bei_men_100m_8, bei_men_100m_9, bei_men_100m_10, bei_men_100m_11,bei_men_100m_12,bei_men_100m_13,bei_men_100m_14,bei_men_100m_15,bei_men_100m_16,bei_men_100m_17,bei_men_100m_18)

bei_men_100m_all <- bei_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=2008,"Host City" ="Beijing", "Host Country"="China")

bei_men_100m_all[134,1]<- "Gold"
bei_men_100m_all[135,1]<- "Silver"
bei_men_100m_all[136,1]<- "Bronze"

head(bei_men_100m_all)
##   Rank Lane         Athlete              Nation Reaction  Time Notes Var.8 Heat
## 1    1    3      Usain Bolt             Jamaica    0.186 10.20     Q  <NA>    1
## 2    2    9   Daniel Bailey Antigua and Barbuda    0.198 10.24     Q  <NA>    1
## 3    3    6 Vicente de Lima              Brazil    0.168 10.26 Q, SB  <NA>    1
## 4    4    2  Henry Vizcaíno                Cuba    0.157 10.28     q  <NA>    1
## 5    5    4   Fabio Cerutti               Italy    0.136 10.49        <NA>    1
## 6    6    5   Jurgen Themen            Suriname    0.179 10.61    PB  <NA>    1
##   Year Host City Host Country
## 1 2008   Beijing        China
## 2 2008   Beijing        China
## 3 2008   Beijing        China
## 4 2008   Beijing        China
## 5 2008   Beijing        China
## 6 2008   Beijing        China

Athens 2004

ath_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_2004_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-ath_men_100m%>%html_table(fill=TRUE)
ath_men_100m_1<-tables[[6]]
ath_men_100m_2<-tables[[7]]
ath_men_100m_3<-tables[[8]]
ath_men_100m_4<-tables[[9]]
ath_men_100m_5<-tables[[10]]
ath_men_100m_6<-tables[[11]]
ath_men_100m_7<-tables[[12]]
ath_men_100m_8<-tables[[13]]
ath_men_100m_9<-tables[[14]]
ath_men_100m_10<-tables[[15]]
ath_men_100m_11<-tables[[16]]
ath_men_100m_12<-tables[[17]]
ath_men_100m_13<-tables[[18]]
ath_men_100m_14<-tables[[19]]
ath_men_100m_15<-tables[[20]]
ath_men_100m_16<-tables[[21]]
ath_men_100m_17<-tables[[22]]
ath_men_100m_18<-tables[[23]]


ath_men_100m_1 <- ath_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
ath_men_100m_2 <- ath_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
ath_men_100m_3 <- ath_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
ath_men_100m_4 <- ath_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
ath_men_100m_5 <- ath_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
ath_men_100m_6 <- ath_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
ath_men_100m_7 <- ath_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
ath_men_100m_8 <- ath_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
ath_men_100m_9 <- ath_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
ath_men_100m_10 <- ath_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
ath_men_100m_11 <- ath_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ath_men_100m_12 <- ath_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ath_men_100m_13 <- ath_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ath_men_100m_14 <- ath_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ath_men_100m_15 <- ath_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ath_men_100m_16 <- ath_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
ath_men_100m_17 <- ath_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
ath_men_100m_18 <- ath_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

ath_men_100m_all <- bind_rows(ath_men_100m_1, ath_men_100m_2, ath_men_100m_3, ath_men_100m_4, ath_men_100m_5, ath_men_100m_6, ath_men_100m_7, ath_men_100m_8, ath_men_100m_9, ath_men_100m_10, ath_men_100m_11, ath_men_100m_12, ath_men_100m_13, ath_men_100m_14, ath_men_100m_15, ath_men_100m_16, ath_men_100m_17, ath_men_100m_18)

ath_men_100m_all <- ath_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=2004,"Host City" ="Athens", "Host Country"="Greece")

ath_men_100m_all[136,1]<-"Gold"
ath_men_100m_all[137,1]<-"Silver"
ath_men_100m_all[138,1]<-"Bronze"

head(ath_men_100m_all)
##   Rank Lane            Athlete        Nation Reaction  Time Notes Heat Year
## 1    1    5 Frankie Fredericks       Namibia    0.152 10.12 Q, SB    1 2004
## 2    2    3    Uchenna Emedolu       Nigeria    0.222 10.22     Q    1 2004
## 3    3    4    Shingo Suetsugu         Japan    0.174 10.27     Q    1 2004
## 4    4    7    Darren Campbell Great Britain    0.159 10.35          1 2004
## 5    5    9       Chen Haijian         China    0.181 10.45          1 2004
## 6    6    2       Eric Nkansah         Ghana    0.160 10.54          1 2004
##   Host City Host Country
## 1    Athens       Greece
## 2    Athens       Greece
## 3    Athens       Greece
## 4    Athens       Greece
## 5    Athens       Greece
## 6    Athens       Greece

Sydney 2000

syd_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_2000_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-syd_men_100m%>%html_table(fill=TRUE)
syd_men_100m_1<-tables[[6]]
syd_men_100m_2<-tables[[7]]
syd_men_100m_3<-tables[[8]]
syd_men_100m_4<-tables[[9]]
syd_men_100m_5<-tables[[10]]
syd_men_100m_6<-tables[[11]]
syd_men_100m_7<-tables[[12]]
syd_men_100m_8<-tables[[13]]
syd_men_100m_9<-tables[[14]]
syd_men_100m_10<-tables[[15]]
syd_men_100m_11<-tables[[16]]
syd_men_100m_12<-tables[[17]]
syd_men_100m_13<-tables[[18]]
syd_men_100m_14<-tables[[19]]
syd_men_100m_15<-tables[[20]]
syd_men_100m_16<-tables[[21]]
syd_men_100m_17<-tables[[22]]
syd_men_100m_18<-tables[[23]]
syd_men_100m_19<-tables[[24]]

syd_men_100m_1 <- syd_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
syd_men_100m_2 <- syd_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
syd_men_100m_3 <- syd_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
syd_men_100m_4 <- syd_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
syd_men_100m_5 <- syd_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
syd_men_100m_6 <- syd_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
syd_men_100m_7 <- syd_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
syd_men_100m_8 <- syd_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
syd_men_100m_9 <- syd_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
syd_men_100m_10 <- syd_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
syd_men_100m_11 <- syd_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
syd_men_100m_12 <- syd_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
syd_men_100m_13 <- syd_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
syd_men_100m_14 <- syd_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
syd_men_100m_15 <- syd_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
syd_men_100m_16 <- syd_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
syd_men_100m_17 <- syd_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
syd_men_100m_18 <- syd_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
syd_men_100m_19 <- syd_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

syd_men_100m_all <- bind_rows(syd_men_100m_1, syd_men_100m_2, syd_men_100m_3, syd_men_100m_4, syd_men_100m_5, syd_men_100m_6, syd_men_100m_7, syd_men_100m_8, syd_men_100m_9, syd_men_100m_10, syd_men_100m_11, syd_men_100m_12, syd_men_100m_13, syd_men_100m_14, syd_men_100m_15, syd_men_100m_16, syd_men_100m_17, syd_men_100m_18, syd_men_100m_19)

syd_men_100m_all <- syd_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=2000,"Host City" ="Sydney", "Host Country"="Australia")

syd_men_100m_all[152,1]<- "Gold"
syd_men_100m_all[153,1]<- "Silver"
syd_men_100m_all[154,1]<- "Bronze"

head(syd_men_100m_all)
##   Rank Lane              Athlete       Nation Reaction  Time Notes Heat Var.7
## 1    1    9          Aziz Zakari        Ghana    0.317 10.31     Q    1  <NA>
## 2    2    3      Patrick Johnson    Australia    0.152 10.31     Q    1  <NA>
## 3    3    8        Venancio José        Spain    0.169 10.36     Q    1  <NA>
## 4    4    5    Martin Lachkovics      Austria    0.150 10.41     q    1  <NA>
## 5    5    6 Nicolas Macrozonaris       Canada    0.189 10.45          1  <NA>
## 6    6    2      Jamal Al-Saffar Saudi Arabia    0.165 10.54          1  <NA>
##   Year Host City Host Country
## 1 2000    Sydney    Australia
## 2 2000    Sydney    Australia
## 3 2000    Sydney    Australia
## 4 2000    Sydney    Australia
## 5 2000    Sydney    Australia
## 6 2000    Sydney    Australia

Atlanta 1996

atl_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1996_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-atl_men_100m%>%html_table(fill=TRUE)
atl_men_100m_1<-tables[[6]]
atl_men_100m_2<-tables[[7]]
atl_men_100m_3<-tables[[8]]
atl_men_100m_4<-tables[[9]]
atl_men_100m_5<-tables[[10]]
atl_men_100m_6<-tables[[11]]
atl_men_100m_7<-tables[[12]]
atl_men_100m_8<-tables[[13]]
atl_men_100m_9<-tables[[14]]
atl_men_100m_10<-tables[[15]]
atl_men_100m_11<-tables[[16]]
atl_men_100m_12<-tables[[17]]
atl_men_100m_13<-tables[[18]]
atl_men_100m_14<-tables[[19]]
atl_men_100m_15<-tables[[20]]
atl_men_100m_16<-tables[[21]]
atl_men_100m_17<-tables[[22]]
atl_men_100m_18<-tables[[23]]
atl_men_100m_19<-tables[[24]]
atl_men_100m_20<-tables[[25]]

atl_men_100m_1 <- atl_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
atl_men_100m_2 <- atl_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
atl_men_100m_3 <- atl_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
atl_men_100m_4 <- atl_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
atl_men_100m_5 <- atl_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
atl_men_100m_6 <- atl_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
atl_men_100m_7 <- atl_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
atl_men_100m_8 <- atl_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
atl_men_100m_9 <- atl_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
atl_men_100m_10 <- atl_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
atl_men_100m_11 <- atl_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
atl_men_100m_12 <- atl_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "12")
atl_men_100m_13 <- atl_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
atl_men_100m_14 <- atl_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
atl_men_100m_15 <- atl_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
atl_men_100m_16 <- atl_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
atl_men_100m_17 <- atl_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
atl_men_100m_18 <- atl_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
atl_men_100m_19 <- atl_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
atl_men_100m_20 <- atl_men_100m_20 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

atl_men_100m_all <- bind_rows(atl_men_100m_1, atl_men_100m_2, atl_men_100m_3, atl_men_100m_4, atl_men_100m_5, atl_men_100m_6, atl_men_100m_7, atl_men_100m_8, atl_men_100m_9, atl_men_100m_10, atl_men_100m_11, atl_men_100m_12, atl_men_100m_13, atl_men_100m_14, atl_men_100m_15, atl_men_100m_16, atl_men_100m_17, atl_men_100m_18, atl_men_100m_19, atl_men_100m_20)

atl_men_100m_all <- atl_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1996,"Host City" ="Atlanta", "Host Country"="United States")

atl_men_100m_all[162,1]<- "Gold"
atl_men_100m_all[163,1]<- "Silver"
atl_men_100m_all[164,1]<- "Bronze"

head(atl_men_100m_all)
##   Rank Lane           Athlete    Nation Reaction  Time Notes Heat Year
## 1    1    6  Emmanuel Tuffour     Ghana    0.187 10.15     Q    1 1996
## 2    2    5       Bruny Surin    Canada    0.168 10.18     Q    1 1996
## 3    3    2    Andrey Fedoriv    Russia    0.159 10.39     Q    1 1996
## 4    4    1     Renward Wells   Bahamas    0.156 10.48          1 1996
## 5    5    3 Chithaka De Soyza Sri Lanka    0.173 10.55          1 1996
## 6    6    7        Luís Cunha  Portugal    0.149 10.65          1 1996
##   Host City  Host Country
## 1   Atlanta United States
## 2   Atlanta United States
## 3   Atlanta United States
## 4   Atlanta United States
## 5   Atlanta United States
## 6   Atlanta United States

Barcelona 1992

bar_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1992_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-bar_men_100m%>%html_table(fill=TRUE)
bar_men_100m_1<-tables[[5]]
bar_men_100m_2<-tables[[6]]
bar_men_100m_3<-tables[[7]]
bar_men_100m_4<-tables[[8]]
bar_men_100m_5<-tables[[9]]
bar_men_100m_6<-tables[[10]]
bar_men_100m_7<-tables[[11]]
bar_men_100m_8<-tables[[12]]
bar_men_100m_9<-tables[[13]]
bar_men_100m_10<-tables[[14]]
bar_men_100m_11<-tables[[15]]
bar_men_100m_12<-tables[[16]]
bar_men_100m_13<-tables[[17]]
bar_men_100m_14<-tables[[18]]
bar_men_100m_15<-tables[[19]]
bar_men_100m_16<-tables[[20]]
bar_men_100m_17<-tables[[21]]

bar_men_100m_1 <- bar_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
bar_men_100m_2 <- bar_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
bar_men_100m_3 <- bar_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
bar_men_100m_4 <- bar_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
bar_men_100m_5 <- bar_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
bar_men_100m_6 <- bar_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
bar_men_100m_7 <- bar_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
bar_men_100m_8 <- bar_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
bar_men_100m_9 <- bar_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
bar_men_100m_10 <- bar_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
bar_men_100m_11 <- bar_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
bar_men_100m_12 <- bar_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
bar_men_100m_13 <- bar_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
bar_men_100m_14 <- bar_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
bar_men_100m_15 <- bar_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
bar_men_100m_16 <- bar_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
bar_men_100m_17 <- bar_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

bar_men_100m_all <- bind_rows(bar_men_100m_1, bar_men_100m_2, bar_men_100m_3, bar_men_100m_4, bar_men_100m_5, bar_men_100m_6, bar_men_100m_7, bar_men_100m_8, bar_men_100m_9, bar_men_100m_10, bar_men_100m_11, bar_men_100m_12, bar_men_100m_13, bar_men_100m_14, bar_men_100m_15, bar_men_100m_16, bar_men_100m_17)

bar_men_100m_all <- bar_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1992,"Host City" ="Barcelona", "Host Country"="Spain")

bar_men_100m_all[126,1]<- "Gold"
bar_men_100m_all[127,1]<- "Silver"
bar_men_100m_all[128,1]<- "Bronze"

head(bar_men_100m_all)
##   Rank               Athlete        Nation  Time Notes Heat Year Host City
## 1    1         Leroy Burrell United States 10.21     Q    1 1992 Barcelona
## 2    2          Satoru Inoue         Japan 10.48     Q    1 1992 Barcelona
## 3    3 Jean-Olivier Zirignon   Ivory Coast 10.55     Q    1 1992 Barcelona
## 4    4       Abdulieh Janneh    The Gambia 10.71          1 1992 Barcelona
## 5    5     Hassane Illiassou         Niger 10.73          1 1992 Barcelona
## 6    6      Khalid Juma Juma       Bahrain 10.80          1 1992 Barcelona
##   Host Country
## 1        Spain
## 2        Spain
## 3        Spain
## 4        Spain
## 5        Spain
## 6        Spain

Seoul 1988

seo_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1988_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-seo_men_100m%>%html_table(fill=TRUE)
seo_men_100m_1<-tables[[6]]
seo_men_100m_2<-tables[[7]]
seo_men_100m_3<-tables[[8]]
seo_men_100m_4<-tables[[9]]
seo_men_100m_5<-tables[[10]]
seo_men_100m_6<-tables[[11]]
seo_men_100m_7<-tables[[12]]
seo_men_100m_8<-tables[[13]]
seo_men_100m_9<-tables[[14]]
seo_men_100m_10<-tables[[15]]
seo_men_100m_11<-tables[[16]]
seo_men_100m_12<-tables[[17]]
seo_men_100m_13<-tables[[18]]
seo_men_100m_14<-tables[[19]]
seo_men_100m_15<-tables[[20]]
seo_men_100m_16<-tables[[21]]
seo_men_100m_17<-tables[[22]]
seo_men_100m_18<-tables[[23]]
seo_men_100m_19<-tables[[24]]
seo_men_100m_20<-tables[[25]]
seo_men_100m_21<-tables[[26]]
seo_men_100m_22<-tables[[27]]

seo_men_100m_1 <- seo_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
seo_men_100m_2 <- seo_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
seo_men_100m_3 <- seo_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
seo_men_100m_4 <- seo_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
seo_men_100m_5 <- seo_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
seo_men_100m_6 <- seo_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
seo_men_100m_7 <- seo_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
seo_men_100m_8 <- seo_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
seo_men_100m_9 <- seo_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
seo_men_100m_10 <- seo_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
seo_men_100m_11 <- seo_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
seo_men_100m_12 <- seo_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "12")
seo_men_100m_13 <- seo_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "13")
seo_men_100m_14 <- seo_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
seo_men_100m_15 <- seo_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
seo_men_100m_16 <- seo_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
seo_men_100m_17 <- seo_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
seo_men_100m_18 <- seo_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
seo_men_100m_19 <- seo_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
seo_men_100m_20 <- seo_men_100m_20 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
seo_men_100m_21 <- seo_men_100m_21 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
seo_men_100m_22 <- seo_men_100m_22 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

seo_men_100m_all <- bind_rows(seo_men_100m_1, seo_men_100m_2, seo_men_100m_3, seo_men_100m_4, seo_men_100m_5, seo_men_100m_6, seo_men_100m_7, seo_men_100m_8, seo_men_100m_9, seo_men_100m_10, seo_men_100m_11, seo_men_100m_12, seo_men_100m_13, seo_men_100m_14, seo_men_100m_15, seo_men_100m_16, seo_men_100m_17, seo_men_100m_18, seo_men_100m_19, seo_men_100m_20, seo_men_100m_21, seo_men_100m_22)

seo_men_100m_all <- seo_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1988,"Host City" ="Seoul", "Host Country"="South Korea")

seo_men_100m_all[165,1]<- "Gold"
seo_men_100m_all[166,1]<- "Silver"
seo_men_100m_all[167,1]<- "Bronze"

head(seo_men_100m_all)
##   Rank          Athlete         Nation  Time Notes Heat Year Host City
## 1    1  Robson da Silva         Brazil 10.37     Q    1 1988     Seoul
## 2    2     Ezio Madonia          Italy 10.40     Q    1 1988     Seoul
## 3    3    Cheng Hsin-fu Chinese Taipei 10.48     Q    1 1988     Seoul
## 4    4   Thierry Lauret         France 10.56     q    1 1988     Seoul
## 5    5     Boevi Lawson           Togo 10.59          1 1988     Seoul
## 6    6 Leung Wing Kwong      Hong Kong 10.82          1 1988     Seoul
##   Host Country
## 1  South Korea
## 2  South Korea
## 3  South Korea
## 4  South Korea
## 5  South Korea
## 6  South Korea

Los Angeles 1984

los_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1984_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-los_men_100m%>%html_table(fill=TRUE)
los_men_100m_1<-tables[[5]]
los_men_100m_2<-tables[[6]]
los_men_100m_3<-tables[[7]]
los_men_100m_4<-tables[[8]]
los_men_100m_5<-tables[[9]]
los_men_100m_6<-tables[[10]]
los_men_100m_7<-tables[[11]]
los_men_100m_8<-tables[[12]]
los_men_100m_9<-tables[[13]]
los_men_100m_10<-tables[[14]]
los_men_100m_11<-tables[[15]]
los_men_100m_12<-tables[[16]]
los_men_100m_13<-tables[[17]]
los_men_100m_14<-tables[[18]]
los_men_100m_15<-tables[[19]]
los_men_100m_16<-tables[[20]]
los_men_100m_17<-tables[[21]]
los_men_100m_18<-tables[[22]]
los_men_100m_19<-tables[[23]]


los_men_100m_1 <- los_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
los_men_100m_2 <- los_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
los_men_100m_3 <- los_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
los_men_100m_4 <- los_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
los_men_100m_5 <- los_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
los_men_100m_6 <- los_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
los_men_100m_7 <- los_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
los_men_100m_8 <- los_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
los_men_100m_9 <- los_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
los_men_100m_10 <- los_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
los_men_100m_11 <- los_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
los_men_100m_12 <- los_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
los_men_100m_13 <- los_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
los_men_100m_14 <- los_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
los_men_100m_15 <- los_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
los_men_100m_16 <- los_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
los_men_100m_17 <- los_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
los_men_100m_18 <- los_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
los_men_100m_19 <- los_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

los_men_100m_all <- bind_rows(los_men_100m_1, los_men_100m_2, los_men_100m_3, los_men_100m_4, los_men_100m_5, los_men_100m_6, los_men_100m_7, los_men_100m_8, los_men_100m_9, los_men_100m_10, los_men_100m_11, los_men_100m_12, los_men_100m_13, los_men_100m_14, los_men_100m_15, los_men_100m_16, los_men_100m_17, los_men_100m_18, los_men_100m_19)

los_men_100m_all <- los_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1984,"Host City" ="Los Angeles", "Host Country"="United States")

los_men_100m_all[138,1]<- "Gold"
los_men_100m_all[139,1]<- "Silver"
los_men_100m_all[140,1]<- "Bronze"

head(los_men_100m_all)
##   Rank              Athlete              Nation  Time Notes Heat Year
## 1    1           Carl Lewis       United States 10.32     Q    1 1984
## 2    2          Tony Sharpe              Canada 10.38     Q    1 1984
## 3    3       Mike McFarlane       Great Britain 10.47     Q    1 1984
## 4    4      Hasely Crawford Trinidad and Tobago 10.48     q    1 1984
## 5    5 Peter Van Miltenburg           Australia 10.55     q    1 1984
## 6    6       Vicente Daniel          Mozambique 10.81          1 1984
##     Host City  Host Country
## 1 Los Angeles United States
## 2 Los Angeles United States
## 3 Los Angeles United States
## 4 Los Angeles United States
## 5 Los Angeles United States
## 6 Los Angeles United States

Moscow 1980

mos_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1980_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-mos_men_100m%>%html_table(fill=TRUE)
mos_men_100m_1<-tables[[5]]
mos_men_100m_2<-tables[[6]]
mos_men_100m_3<-tables[[7]]
mos_men_100m_4<-tables[[8]]
mos_men_100m_5<-tables[[9]]
mos_men_100m_6<-tables[[10]]
mos_men_100m_7<-tables[[11]]
mos_men_100m_8<-tables[[12]]
mos_men_100m_9<-tables[[13]]
mos_men_100m_10<-tables[[14]]
mos_men_100m_11<-tables[[15]]
mos_men_100m_12<-tables[[16]]
mos_men_100m_13<-tables[[17]]
mos_men_100m_14<-tables[[18]]
mos_men_100m_15<-tables[[19]]
mos_men_100m_16<-tables[[20]]

mos_men_100m_1 <- mos_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
mos_men_100m_2 <- mos_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
mos_men_100m_3 <- mos_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
mos_men_100m_4 <- mos_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
mos_men_100m_5 <- mos_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
mos_men_100m_6 <- mos_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
mos_men_100m_7 <- mos_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
mos_men_100m_8 <- mos_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
mos_men_100m_9 <- mos_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
mos_men_100m_10 <- mos_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mos_men_100m_11 <- mos_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mos_men_100m_12 <- mos_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mos_men_100m_13 <- mos_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mos_men_100m_14 <- mos_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
mos_men_100m_15 <- mos_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
mos_men_100m_16 <- mos_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

mos_men_100m_all <- bind_rows(mos_men_100m_1, mos_men_100m_2, mos_men_100m_3, mos_men_100m_4, mos_men_100m_5, mos_men_100m_6, mos_men_100m_7, mos_men_100m_8, mos_men_100m_9, mos_men_100m_10, mos_men_100m_11, mos_men_100m_12, mos_men_100m_13, mos_men_100m_14, mos_men_100m_15, mos_men_100m_16)

mos_men_100m_all <- mos_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1980,"Host City" ="Moscow", "Host Country"="Russia")

mos_men_100m_all[114,1]<- "Gold"
mos_men_100m_all[115,1]<- "Silver"
mos_men_100m_all[116,1]<- "Bronze"

head(mos_men_100m_all)
##   Rank                Athlete              Nation  Time Notes Heat Year
## 1    1         Silvio Leonard                Cuba 10.33     Q    1 1980
## 2    2         Peter Okodogbe             Nigeria 10.39     Q    1 1980
## 3    3 Christopher Brathwaite Trinidad and Tobago 10.44     Q    1 1980
## 4    4    Klaus-Dieter Kurrat        East Germany 10.53     q    1 1980
## 5    5     Charles Kachenjela              Zambia 11.03          1 1980
## 6    6             John Carew        Sierra Leone 11.11          1 1980
##   Host City Host Country
## 1    Moscow       Russia
## 2    Moscow       Russia
## 3    Moscow       Russia
## 4    Moscow       Russia
## 5    Moscow       Russia
## 6    Moscow       Russia

Montreal 1976

mon_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1976_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-mon_men_100m%>%html_table(fill=TRUE)
mon_men_100m_1<-tables[[5]]
mon_men_100m_2<-tables[[6]]
mon_men_100m_3<-tables[[7]]
mon_men_100m_4<-tables[[8]]
mon_men_100m_5<-tables[[9]]
mon_men_100m_6<-tables[[10]]
mon_men_100m_7<-tables[[11]]
mon_men_100m_8<-tables[[12]]
mon_men_100m_9<-tables[[13]]
mon_men_100m_10<-tables[[14]]
mon_men_100m_11<-tables[[15]]
mon_men_100m_12<-tables[[16]]
mon_men_100m_13<-tables[[17]]
mon_men_100m_14<-tables[[18]]
mon_men_100m_15<-tables[[19]]
mon_men_100m_16<-tables[[20]]

mon_men_100m_1 <- mon_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
mon_men_100m_2 <- mon_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
mon_men_100m_3 <- mon_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
mon_men_100m_4 <- mon_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
mon_men_100m_5 <- mon_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
mon_men_100m_6 <- mon_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
mon_men_100m_7 <- mon_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
mon_men_100m_8 <- mon_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
mon_men_100m_9 <- mon_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
mon_men_100m_10 <- mon_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mon_men_100m_11 <- mon_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mon_men_100m_12 <- mon_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mon_men_100m_13 <- mon_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mon_men_100m_14 <- mon_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
mon_men_100m_15 <- mon_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
mon_men_100m_16 <- mon_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

mon_men_100m_all <- bind_rows(mon_men_100m_1, mon_men_100m_2, mon_men_100m_3, mon_men_100m_4, mon_men_100m_5, mon_men_100m_6, mon_men_100m_7, mon_men_100m_8, mon_men_100m_9, mon_men_100m_10, mon_men_100m_11, mon_men_100m_12, mon_men_100m_13, mon_men_100m_14, mon_men_100m_15, mon_men_100m_16)

mon_men_100m_all <- mon_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1976,"Host City" ="Montreal", "Host Country"="Canada")

mon_men_100m_all[110,1]<- "Gold"
mon_men_100m_all[111,1]<- "Silver"
mon_men_100m_all[112,1]<- "Bronze"

head(mon_men_100m_all)
##   Rank           Athlete              Nation  Time Notes Heat Year Host City
## 1    1   Hasely Crawford Trinidad and Tobago 10.42     Q    1 1976  Montreal
## 2    2  Alexander Thieme        East Germany 10.64     Q    1 1976  Montreal
## 3    3  Luciano Caravani               Italy 10.66     Q    1 1976  Montreal
## 4    4     Lambert Micha             Belgium 10.69          1 1976  Montreal
## 5    5    Gregory Simons             Bermuda 10.76          1 1976  Montreal
## 6    6 Bjarni Stefánsson             Iceland 11.28          1 1976  Montreal
##   Host Country
## 1       Canada
## 2       Canada
## 3       Canada
## 4       Canada
## 5       Canada
## 6       Canada

Munich 1972

mun_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1972_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-mun_men_100m%>%html_table(fill=TRUE)
mun_men_100m_1<-tables[[5]]
mun_men_100m_2<-tables[[6]]
mun_men_100m_3<-tables[[7]]
mun_men_100m_4<-tables[[8]]
mun_men_100m_5<-tables[[9]]
mun_men_100m_6<-tables[[10]]
mun_men_100m_7<-tables[[11]]
mun_men_100m_8<-tables[[12]]
mun_men_100m_9<-tables[[13]]
mun_men_100m_10<-tables[[14]]
mun_men_100m_11<-tables[[15]]
mun_men_100m_12<-tables[[16]]
mun_men_100m_13<-tables[[17]]
mun_men_100m_14<-tables[[18]]
mun_men_100m_15<-tables[[19]]
mun_men_100m_16<-tables[[20]]
mun_men_100m_17<-tables[[21]]
mun_men_100m_18<-tables[[22]]
mun_men_100m_19<-tables[[23]]
mun_men_100m_20<-tables[[24]]

mun_men_100m_1 <- mun_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
mun_men_100m_2 <- mun_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
mun_men_100m_3 <- mun_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
mun_men_100m_4 <- mun_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
mun_men_100m_5 <- mun_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
mun_men_100m_6 <- mun_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
mun_men_100m_7 <- mun_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
mun_men_100m_8 <- mun_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
mun_men_100m_9 <- mun_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
mun_men_100m_10 <- mun_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
mun_men_100m_11 <- mun_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
mun_men_100m_12 <- mun_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "12")
mun_men_100m_13 <- mun_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mun_men_100m_14 <- mun_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mun_men_100m_15 <- mun_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mun_men_100m_16 <- mun_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mun_men_100m_17 <- mun_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mun_men_100m_18 <- mun_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
mun_men_100m_19 <- mun_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
mun_men_100m_20 <- mun_men_100m_20 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

mun_men_100m_all <- bind_rows(mun_men_100m_1, mun_men_100m_2, mun_men_100m_3, mun_men_100m_4, mun_men_100m_5, mun_men_100m_6, mun_men_100m_7, mun_men_100m_8, mun_men_100m_9, mun_men_100m_10, mun_men_100m_11, mun_men_100m_12, mun_men_100m_13, mun_men_100m_14, mun_men_100m_15, mun_men_100m_16, mun_men_100m_17, mun_men_100m_18, mun_men_100m_19, mun_men_100m_20)

mun_men_100m_all <- mun_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1972,"Host City" ="Munich", "Host Country"="Germany")

mun_men_100m_all[139,1]<- "Gold"
mun_men_100m_all[140,1]<- "Silver"
mun_men_100m_all[141,1]<- "Bronze"

head(mun_men_100m_all)
##   Rank                Athlete              Nation  Time Notes Heat Lane Year
## 1    1          Lennox Miller             Jamaica 10.45     Q    1   NA 1972
## 2    2           Amadou Meïté         Ivory Coast 10.51     Q    1   NA 1972
## 3    3    Hans-Jürgen Bombach        East Germany 10.66     Q    1   NA 1972
## 4    4              Rudy Reid Trinidad and Tobago 10.74          1   NA 1972
## 5    5              Dan Amuke               Kenya 10.76          1   NA 1972
## 6    6 Byambajavyn Enkhbaatar            Mongolia 10.93          1   NA 1972
##   Host City Host Country
## 1    Munich      Germany
## 2    Munich      Germany
## 3    Munich      Germany
## 4    Munich      Germany
## 5    Munich      Germany
## 6    Munich      Germany

Mexico City 1968

mex_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1968_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-mex_men_100m%>%html_table(fill=TRUE)
mex_men_100m_1<-tables[[5]]
mex_men_100m_2<-tables[[6]]
mex_men_100m_3<-tables[[7]]
mex_men_100m_4<-tables[[8]]
mex_men_100m_5<-tables[[9]]
mex_men_100m_6<-tables[[10]]
mex_men_100m_7<-tables[[11]]
mex_men_100m_8<-tables[[12]]
mex_men_100m_9<-tables[[13]]
mex_men_100m_10<-tables[[14]]
mex_men_100m_11<-tables[[15]]
mex_men_100m_12<-tables[[16]]
mex_men_100m_13<-tables[[17]]
mex_men_100m_14<-tables[[18]]
mex_men_100m_15<-tables[[19]]
mex_men_100m_16<-tables[[20]]

names(mex_men_100m_16)[5] <- "Time"

mex_men_100m_1 <- mex_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
mex_men_100m_2 <- mex_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
mex_men_100m_3 <- mex_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
mex_men_100m_4 <- mex_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
mex_men_100m_5 <- mex_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
mex_men_100m_6 <- mex_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
mex_men_100m_7 <- mex_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
mex_men_100m_8 <- mex_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
mex_men_100m_9 <- mex_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
mex_men_100m_10 <- mex_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mex_men_100m_11 <- mex_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mex_men_100m_12 <- mex_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mex_men_100m_13 <- mex_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mex_men_100m_14 <- mex_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
mex_men_100m_15 <- mex_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
mex_men_100m_16 <- mex_men_100m_16 %>% transform(Time  = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

mex_men_100m_all <- bind_rows(mex_men_100m_1, mex_men_100m_2, mex_men_100m_3, mex_men_100m_4, mex_men_100m_5,  mex_men_100m_6, mex_men_100m_7, mex_men_100m_8, mex_men_100m_9, mex_men_100m_10, mex_men_100m_11, mex_men_100m_12, mex_men_100m_13, mex_men_100m_14, mex_men_100m_15, mex_men_100m_16)

mex_men_100m_all <- mex_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1968,"Host City" ="Mexico City", "Host Country"="Mexico")

mex_men_100m_all[113,1]<- "Gold"
mex_men_100m_all[114,1]<- "Silver"
mex_men_100m_all[115,1]<- "Bronze"

head(mex_men_100m_all)
##   Rank             Athlete        Nation  Time Notes Heat Lane Time..a. Year
## 1    1      Charles Greene United States 10.09     Q    1   NA       NA 1968
## 2    2        Hideo Iijima         Japan 10.24     Q    1   NA       NA 1968
## 3    3 Canagasabai Kunalan     Singapore 10.47     Q    1   NA       NA 1968
## 4    4      Wiesław Maniak        Poland 10.49          1   NA       NA 1968
## 5    5            Barka Sy       Senegal 10.61          1   NA       NA 1968
## 6    1           Jim Hines United States 10.26     Q    2   NA       NA 1968
##     Host City Host Country
## 1 Mexico City       Mexico
## 2 Mexico City       Mexico
## 3 Mexico City       Mexico
## 4 Mexico City       Mexico
## 5 Mexico City       Mexico
## 6 Mexico City       Mexico

Tokyo 1964

tok_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1964_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-tok_men_100m%>%html_table(fill=TRUE)
tok_men_100m_1<-tables[[6]]
tok_men_100m_2<-tables[[7]]
tok_men_100m_3<-tables[[8]]
tok_men_100m_4<-tables[[9]]
tok_men_100m_5<-tables[[10]]
tok_men_100m_6<-tables[[11]]
tok_men_100m_7<-tables[[12]]
tok_men_100m_8<-tables[[13]]
tok_men_100m_9<-tables[[14]]
tok_men_100m_10<-tables[[15]]
tok_men_100m_11<-tables[[16]]
tok_men_100m_12<-tables[[17]]
tok_men_100m_13<-tables[[18]]
tok_men_100m_14<-tables[[19]]
tok_men_100m_15<-tables[[20]]
tok_men_100m_16<-tables[[21]]
tok_men_100m_17<-tables[[22]]

tok_men_100m_1 <- tok_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
tok_men_100m_2 <- tok_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
tok_men_100m_3 <- tok_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
tok_men_100m_4 <- tok_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
tok_men_100m_5 <- tok_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
tok_men_100m_6 <- tok_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
tok_men_100m_7 <- tok_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
tok_men_100m_8 <- tok_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
tok_men_100m_9 <- tok_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
tok_men_100m_10 <- tok_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
tok_men_100m_11 <- tok_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
tok_men_100m_12 <- tok_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
tok_men_100m_13 <- tok_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
tok_men_100m_14 <- tok_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
tok_men_100m_15 <- tok_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
tok_men_100m_16 <- tok_men_100m_16 %>% transform(Time  = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
tok_men_100m_17 <- tok_men_100m_17 %>% transform(Time  = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

tok_men_100m_all <- bind_rows(tok_men_100m_1, tok_men_100m_2, tok_men_100m_3, tok_men_100m_4, tok_men_100m_5,  tok_men_100m_6, tok_men_100m_7, tok_men_100m_8, tok_men_100m_9, tok_men_100m_10, tok_men_100m_11, tok_men_100m_12, tok_men_100m_13, tok_men_100m_14, tok_men_100m_15, tok_men_100m_16, tok_men_100m_17)

tok_men_100m_all <- tok_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1964,"Host City" ="Tokyo", "Host Country"="Japan")

tok_men_100m_all[119,1]<- "Gold"
tok_men_100m_all[120,1]<- "Silver"
tok_men_100m_all[121,1]<- "Bronze"

head(tok_men_100m_all)
##   Rank                    Athlete       Nation Time Notes Heat Year Host City
## 1    1               Hideo Iijima        Japan 10.3     Q    1 1964     Tokyo
## 2    2          Bernard Laidebeur       France 10.5     Q    1 1964     Tokyo
## 3    3               Edvin Ozolin Soviet Union 10.5     Q    1 1964     Tokyo
## 4    4             Kenneth Powell        India 10.7          1 1964     Tokyo
## 5    5              Zbigniew Syka       Poland 10.7          1 1964     Tokyo
## 6    6 Jean-Louis Ravelomanantsoa   Madagascar 10.8          1 1964     Tokyo
##   Host Country
## 1        Japan
## 2        Japan
## 3        Japan
## 4        Japan
## 5        Japan
## 6        Japan

Rome 1960

rom_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1960_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-rom_men_100m%>%html_table(fill=TRUE)
rom_men_100m_1<-tables[[5]]
rom_men_100m_2<-tables[[6]]
rom_men_100m_3<-tables[[7]]
rom_men_100m_4<-tables[[8]]
rom_men_100m_5<-tables[[9]]
rom_men_100m_6<-tables[[10]]
rom_men_100m_7<-tables[[11]]
rom_men_100m_8<-tables[[12]]
rom_men_100m_9<-tables[[13]]
rom_men_100m_10<-tables[[14]]
rom_men_100m_11<-tables[[15]]
rom_men_100m_12<-tables[[16]]
rom_men_100m_13<-tables[[17]]
rom_men_100m_14<-tables[[18]]
rom_men_100m_15<-tables[[19]]
rom_men_100m_16<-tables[[20]]

rom_men_100m_1 <- rom_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
rom_men_100m_2 <- rom_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
rom_men_100m_3 <- rom_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
rom_men_100m_4 <- rom_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
rom_men_100m_5 <- rom_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
rom_men_100m_6 <- rom_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
rom_men_100m_7 <- rom_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
rom_men_100m_8 <- rom_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
rom_men_100m_9 <- rom_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
rom_men_100m_10 <- rom_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
rom_men_100m_11 <- rom_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
rom_men_100m_12 <- rom_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
rom_men_100m_13 <- rom_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
rom_men_100m_14 <- rom_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
rom_men_100m_15 <- rom_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
rom_men_100m_16 <- rom_men_100m_16 %>% transform(Time  = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")


rom_men_100m_all <- bind_rows(rom_men_100m_1, rom_men_100m_2, rom_men_100m_3, rom_men_100m_4, rom_men_100m_5,  rom_men_100m_6, rom_men_100m_7, rom_men_100m_8, rom_men_100m_9, rom_men_100m_10, rom_men_100m_11, rom_men_100m_12, rom_men_100m_13, rom_men_100m_14, rom_men_100m_15, rom_men_100m_16)

rom_men_100m_all <- rom_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1960,"Host City" ="Rome", "Host Country"="Italy")

rom_men_100m_all[99,1]<- "Gold"
rom_men_100m_all[100,1]<- "Silver"
rom_men_100m_all[101,1]<- "Bronze"

head(rom_men_100m_all)
##   Rank            Athlete       Nation Time Notes Heat Year Host City
## 1    1  Enrique Figuerola         Cuba 10.4     Q    1 1960      Rome
## 2    2 Carl Fredrik Bunæs       Norway 10.7     Q    1 1960      Rome
## 3    3    Yuriy Konovalov Soviet Union 10.7     Q    1 1960      Rome
## 4    4    Suthi Manyakass     Thailand 10.8          1 1960      Rome
## 5    5  Mikhail Bachvarov     Bulgaria 11.0          1 1960      Rome
## 6    6  Amos Grodzinowsky       Israel 11.1          1 1960      Rome
##   Host Country
## 1        Italy
## 2        Italy
## 3        Italy
## 4        Italy
## 5        Italy
## 6        Italy

Melbourne 1956

mel_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1956_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-mel_men_100m%>%html_table(fill=TRUE)
mel_men_100m_1<-tables[[5]]
mel_men_100m_2<-tables[[6]]
mel_men_100m_3<-tables[[7]]
mel_men_100m_4<-tables[[8]]
mel_men_100m_5<-tables[[9]]
mel_men_100m_6<-tables[[10]]
mel_men_100m_7<-tables[[11]]
mel_men_100m_8<-tables[[12]]
mel_men_100m_9<-tables[[13]]
mel_men_100m_10<-tables[[14]]
mel_men_100m_11<-tables[[15]]
mel_men_100m_12<-tables[[16]]
mel_men_100m_13<-tables[[17]]
mel_men_100m_14<-tables[[18]]
mel_men_100m_15<-tables[[19]]
mel_men_100m_16<-tables[[20]]
mel_men_100m_17<-tables[[21]]
mel_men_100m_18<-tables[[22]]
mel_men_100m_19<-tables[[23]]

names(mel_men_100m_19)[5] <- "Time"

mel_men_100m_1 <- mel_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
mel_men_100m_2 <- mel_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
mel_men_100m_3 <- mel_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
mel_men_100m_4 <- mel_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
mel_men_100m_5 <- mel_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
mel_men_100m_6 <- mel_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
mel_men_100m_7 <- mel_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
mel_men_100m_8 <- mel_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
mel_men_100m_9 <- mel_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
mel_men_100m_10 <- mel_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
mel_men_100m_11 <- mel_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
mel_men_100m_12 <- mel_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "12")
mel_men_100m_13 <- mel_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mel_men_100m_14 <- mel_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mel_men_100m_15 <- mel_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mel_men_100m_16 <- mel_men_100m_16 %>% transform(Time  = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
mel_men_100m_17 <- mel_men_100m_17 %>% transform(Time  = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
mel_men_100m_18 <- mel_men_100m_18 %>% transform(Time  = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
mel_men_100m_19 <- mel_men_100m_19 %>% transform(Time  = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")


mel_men_100m_all <- bind_rows(mel_men_100m_1, mel_men_100m_2, mel_men_100m_3, mel_men_100m_4, mel_men_100m_5,  mel_men_100m_6, mel_men_100m_7, mel_men_100m_8, mel_men_100m_9, mel_men_100m_10, mel_men_100m_11, mel_men_100m_12, mel_men_100m_13, mel_men_100m_14, mel_men_100m_15, mel_men_100m_16, mel_men_100m_17, mel_men_100m_18, mel_men_100m_19)

mel_men_100m_all <- mel_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1956,"Host City" ="Melbourne", "Host Country"="Australia")

mel_men_100m_all[102,1]<- "Gold"
mel_men_100m_all[103,1]<- "Silver"
mel_men_100m_all[104,1]<- "Bronze"

head(mel_men_100m_all)
##   Rank             Athlete        Nation  Time Notes Heat Time..hand. Year
## 1    1       Ira Murchison United States 10.67     Q    1          NA 1956
## 2    2    Jan Jarzembowski        Poland 10.95     Q    1          NA 1956
## 3    3 Hilmar Þorbjörnsson       Iceland 11.12          1          NA 1956
## 4    4     Mario Colarossi         Italy 11.14          1          NA 1956
## 5    5        René Ahumada        Mexico 11.26          1          NA 1956
## 6    6   Raja bin Ngah Ali        Malaya 11.41          1          NA 1956
##   Host City Host Country
## 1 Melbourne    Australia
## 2 Melbourne    Australia
## 3 Melbourne    Australia
## 4 Melbourne    Australia
## 5 Melbourne    Australia
## 6 Melbourne    Australia

Helsinki 1952

hel_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1952_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-hel_men_100m%>%html_table(fill=TRUE)
hel_men_100m_1<-tables[[5]]
hel_men_100m_2<-tables[[6]]
hel_men_100m_3<-tables[[7]]
hel_men_100m_4<-tables[[8]]
hel_men_100m_5<-tables[[9]]
hel_men_100m_6<-tables[[10]]
hel_men_100m_7<-tables[[11]]
hel_men_100m_8<-tables[[12]]
hel_men_100m_9<-tables[[13]]
hel_men_100m_10<-tables[[14]]
hel_men_100m_11<-tables[[15]]
hel_men_100m_12<-tables[[16]]
hel_men_100m_13<-tables[[17]]
hel_men_100m_14<-tables[[18]]
hel_men_100m_15<-tables[[19]]
hel_men_100m_16<-tables[[20]]
hel_men_100m_17<-tables[[21]]
hel_men_100m_18<-tables[[22]]
hel_men_100m_19<-tables[[23]]

hel_men_100m_1 <- hel_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
hel_men_100m_2 <- hel_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
hel_men_100m_3 <- hel_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
hel_men_100m_4 <- hel_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
hel_men_100m_5 <- hel_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
hel_men_100m_6 <- hel_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
hel_men_100m_7 <- hel_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
hel_men_100m_8 <- hel_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
hel_men_100m_9 <- hel_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
hel_men_100m_10 <- hel_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
hel_men_100m_11 <- hel_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
hel_men_100m_12 <- hel_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "12")
hel_men_100m_13 <- hel_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
hel_men_100m_14 <- hel_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
hel_men_100m_15 <- hel_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
hel_men_100m_16 <- hel_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
hel_men_100m_17 <- hel_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
hel_men_100m_18 <- hel_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
hel_men_100m_19 <- hel_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")


hel_men_100m_all <- bind_rows(hel_men_100m_1, hel_men_100m_2, hel_men_100m_3, hel_men_100m_4, hel_men_100m_5, hel_men_100m_6, hel_men_100m_7, hel_men_100m_8, hel_men_100m_9, hel_men_100m_10, hel_men_100m_11, hel_men_100m_12, hel_men_100m_13, hel_men_100m_14, hel_men_100m_15, hel_men_100m_16, hel_men_100m_17, hel_men_100m_18, hel_men_100m_19)

hel_men_100m_all <- hel_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1952,"Host City" ="Helsinki", "Host Country"="Finland")

hel_men_100m_all[107,1]<- "Gold"
hel_men_100m_all[108,1]<- "Silver"
hel_men_100m_all[109,1]<- "Bronze"

head(hel_men_100m_all)
##   Rank            Athlete         Nation  Time Notes Heat Year Host City
## 1    1       John Treloar      Australia 10.92     Q    1 1952  Helsinki
## 2    2    Alan Lillington  Great Britain 11.06     Q    1 1952  Helsinki
## 3    3     Gabriel Lareya          Ghana 11.18          1 1952  Helsinki
## 4    4    Miroslav Horčic Czechoslovakia 11.23          1 1952  Helsinki
## 5    5 Ásmundur Bjarnason        Iceland 11.40          1 1952  Helsinki
## 6    6   Youssef Ali Omar          Egypt 11.53          1 1952  Helsinki
##   Host Country
## 1      Finland
## 2      Finland
## 3      Finland
## 4      Finland
## 5      Finland
## 6      Finland

London 1948

lon48_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1948_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-lon48_men_100m%>%html_table(fill=TRUE)
lon48_men_100m_1<-tables[[6]]
  lon48_men_100m_1[4,4] <- as.factor(11.25)
  lon48_men_100m_1[5,4] <- as.factor(11.54)
lon48_men_100m_2<-tables[[7]]
  lon48_men_100m_2[4,4] <- as.factor(11.16)
  lon48_men_100m_2[5,4] <- as.factor(11.50)
  lon48_men_100m_2[6,4] <- as.factor(11.97)
lon48_men_100m_3<-tables[[8]]
lon48_men_100m_4<-tables[[9]]
  lon48_men_100m_4[4,4] <- as.factor(11.04)
  lon48_men_100m_4[5,4] <- as.factor(11.23)
lon48_men_100m_5<-tables[[10]]
  lon48_men_100m_5[4,4] <- as.factor(11.30)
lon48_men_100m_6<-tables[[11]]
  lon48_men_100m_6[4,4] <- as.factor(11.08)
  lon48_men_100m_6[5,4] <- as.factor(11.32)
  lon48_men_100m_6[6,4] <- as.factor(11.69)
lon48_men_100m_7<-tables[[12]]
  lon48_men_100m_7[4,4] <- as.factor(11.24)
  lon48_men_100m_7[5,4] <- as.factor(11.71)
  lon48_men_100m_7[6,4] <- as.factor(11.90)
lon48_men_100m_8<-tables[[13]]
  lon48_men_100m_8[4,4] <- as.factor(11.09)
  lon48_men_100m_8[5,4] <- as.factor(11.09)
lon48_men_100m_9<-tables[[14]]
  lon48_men_100m_9[4,4] <- as.factor(11.22)
  lon48_men_100m_9[5,4] <- as.factor(11.35)
lon48_men_100m_10<-tables[[15]]
  lon48_men_100m_10[4,4] <- as.factor(11.19)
  lon48_men_100m_10[5,4] <- as.factor(11.62)
lon48_men_100m_11<-tables[[16]]
  lon48_men_100m_11[4,4] <- as.factor(11.23)
lon48_men_100m_12<-tables[[17]]
  lon48_men_100m_12[4,4] <- as.factor(11.36)
  lon48_men_100m_12[5,4] <- as.factor(11.45)
  lon48_men_100m_12[6,4] <- as.factor(11.78)
lon48_men_100m_13<-tables[[18]]
  lon48_men_100m_13[4,4] <- as.factor(10.93)
  lon48_men_100m_13[5,4] <- as.factor(10.97)
  lon48_men_100m_13[6,4] <- as.factor(11.32)
lon48_men_100m_14<-tables[[19]]
  lon48_men_100m_14[4,4] <- as.factor(11.04)
  lon48_men_100m_14[5,4] <- as.factor(11.11)
  lon48_men_100m_14[6,4] <- as.factor(11.18)
lon48_men_100m_15<-tables[[20]]
  lon48_men_100m_15[4,4] <- as.factor(10.82)
  lon48_men_100m_15[5,4] <- as.factor(11.08)
  lon48_men_100m_15[6,4] <- as.factor(11.10)
lon48_men_100m_16<-tables[[21]]
  lon48_men_100m_16[4,4] <- as.factor(11.04)
  lon48_men_100m_16[5,4] <- as.factor(11.09)
  lon48_men_100m_16[6,4] <- as.factor(11.26)
lon48_men_100m_17<-tables[[22]]
  lon48_men_100m_17[4,4] <- as.factor(10.98)
  lon48_men_100m_17[5,4] <- as.factor(11.05)
  lon48_men_100m_17[6,4] <- as.factor(11.15)
lon48_men_100m_18<-tables[[23]]
  lon48_men_100m_18[4,4] <- as.factor(10.74)
  lon48_men_100m_18[5,4] <- as.factor(10.82)
  lon48_men_100m_18[6,4] <- as.factor(11.01)
lon48_men_100m_19<-tables[[24]]
  lon48_men_100m_19[4,4,] <- as.factor(10.61)
  lon48_men_100m_19[5,4,] <- as.factor(10.67)
  lon48_men_100m_19[6,4,] <- as.factor(10.81)

names(lon48_men_100m_19)[4] <- "Time"

lon48_men_100m_1 <- lon48_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
lon48_men_100m_2 <- lon48_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
lon48_men_100m_3 <- lon48_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
lon48_men_100m_4 <- lon48_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
lon48_men_100m_5 <- lon48_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
lon48_men_100m_6 <- lon48_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
lon48_men_100m_7 <- lon48_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
lon48_men_100m_8 <- lon48_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
lon48_men_100m_9 <- lon48_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
lon48_men_100m_10 <- lon48_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
lon48_men_100m_11 <- lon48_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
lon48_men_100m_12 <- lon48_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "12")
lon48_men_100m_13 <- lon48_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
lon48_men_100m_14 <- lon48_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
lon48_men_100m_15 <- lon48_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
lon48_men_100m_16 <- lon48_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
lon48_men_100m_17 <- lon48_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
lon48_men_100m_18 <- lon48_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
lon48_men_100m_19 <- lon48_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")


lon48_men_100m_all <- bind_rows(lon48_men_100m_1, lon48_men_100m_2, lon48_men_100m_3, lon48_men_100m_4, lon48_men_100m_5, lon48_men_100m_6, lon48_men_100m_7, lon48_men_100m_8, lon48_men_100m_9, lon48_men_100m_10, lon48_men_100m_11, lon48_men_100m_12, lon48_men_100m_13, lon48_men_100m_14, lon48_men_100m_15, lon48_men_100m_16, lon48_men_100m_17, lon48_men_100m_18, lon48_men_100m_19)

lon48_men_100m_all <- lon48_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1948,"Host City" ="London", "Host Country"="United Kingdom")

lon48_men_100m_all[97,1]<- "Gold"
lon48_men_100m_all[98,1]<- "Silver"
lon48_men_100m_all[99,1]<- "Bronze"

head(lon48_men_100m_all)
##   Rank               Athlete        Nation  Time Notes Heat Year Host City
## 1    1          Barney Ewell United States 10.50     Q    1 1948    London
## 2    2 Alastair McCorquodale Great Britain 10.50     Q    1 1948    London
## 3    3          Leslie Laing       Jamaica 11.00          1 1948    London
## 4    4          Angel García          Cuba 11.25          1 1948    London
## 5    5         Nestor Jacono         Malta 11.54          1 1948    London
## 6    1            Mel Patton United States 10.60     Q    2 1948    London
##     Host Country
## 1 United Kingdom
## 2 United Kingdom
## 3 United Kingdom
## 4 United Kingdom
## 5 United Kingdom
## 6 United Kingdom

Berlin 1936

ber_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1936_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-ber_men_100m%>%html_table(fill=TRUE)
ber_men_100m_1<-tables[[5]]
ber_men_100m_2<-tables[[6]]
ber_men_100m_3<-tables[[7]]
ber_men_100m_4<-tables[[8]]
ber_men_100m_5<-tables[[9]]
ber_men_100m_6<-tables[[10]]
ber_men_100m_7<-tables[[11]]
ber_men_100m_8<-tables[[12]]
ber_men_100m_9<-tables[[13]]
ber_men_100m_10<-tables[[14]]
ber_men_100m_11<-tables[[15]]
ber_men_100m_12<-tables[[16]]
ber_men_100m_13<-tables[[17]]
ber_men_100m_14<-tables[[18]]
ber_men_100m_15<-tables[[19]]
ber_men_100m_16<-tables[[20]]
ber_men_100m_17<-tables[[21]]
ber_men_100m_18<-tables[[22]]
ber_men_100m_19<-tables[[23]]

ber_men_100m_1 <- ber_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
ber_men_100m_2 <- ber_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
ber_men_100m_3 <- ber_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
ber_men_100m_4 <- ber_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
ber_men_100m_5 <- ber_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
ber_men_100m_6 <- ber_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
ber_men_100m_7 <- ber_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
ber_men_100m_8 <- ber_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
ber_men_100m_9 <- ber_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
ber_men_100m_10 <- ber_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
ber_men_100m_11 <- ber_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
ber_men_100m_12 <- ber_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "12")
ber_men_100m_13 <- ber_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ber_men_100m_14 <- ber_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ber_men_100m_15 <- ber_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ber_men_100m_16 <- ber_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ber_men_100m_17 <- ber_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
ber_men_100m_18 <- ber_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
ber_men_100m_19 <- ber_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

ber_men_100m_all <- bind_rows(ber_men_100m_1, ber_men_100m_2, ber_men_100m_3, ber_men_100m_4, ber_men_100m_5, ber_men_100m_6, ber_men_100m_7, ber_men_100m_8, ber_men_100m_9, ber_men_100m_10, ber_men_100m_11, ber_men_100m_12, ber_men_100m_13, ber_men_100m_14, ber_men_100m_15, ber_men_100m_16, ber_men_100m_17, ber_men_100m_18, ber_men_100m_19)

ber_men_100m_all <- ber_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1936,"Host City" ="Berlin", "Host Country"="Germany")

ber_men_100m_all[70,1]<- "Gold"
ber_men_100m_all[71,1]<- "Silver"
ber_men_100m_all[72,1]<- "Bronze"

head(ber_men_100m_all)
##   Rank            Athlete       Nation Time Notes Heat Year Host City
## 1    1 Lennart Strandberg       Sweden 10.7     Q    1 1936    Berlin
## 2    2 Takayoshi Yoshioka        Japan 10.8     Q    1 1936    Berlin
## 3    3     Manfred Kersch      Germany 10.8          1 1936    Berlin
## 4    1       Chris Berger  Netherlands 10.8     Q    2 1936    Berlin
## 5    2       Pat Dannaher South Africa 11.0     Q    2 1936    Berlin
## 6    3   Bernard Marchand  Switzerland 11.2          2 1936    Berlin
##   Host Country
## 1      Germany
## 2      Germany
## 3      Germany
## 4      Germany
## 5      Germany
## 6      Germany

Los Angeles 1932

los32_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1932_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-los32_men_100m%>%html_table(fill=TRUE)
los32_men_100m_1<-tables[[5]]
los32_men_100m_2<-tables[[6]]
los32_men_100m_3<-tables[[7]]
los32_men_100m_4<-tables[[8]]
los32_men_100m_5<-tables[[9]]
los32_men_100m_6<-tables[[10]]
los32_men_100m_7<-tables[[11]]
los32_men_100m_8<-tables[[12]]
los32_men_100m_9<-tables[[13]]
los32_men_100m_10<-tables[[14]]
los32_men_100m_11<-tables[[15]]
los32_men_100m_12<-tables[[16]]
los32_men_100m_13<-tables[[17]]
los32_men_100m_14<-tables[[18]]

los32_men_100m_1 <- los32_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
los32_men_100m_2 <- los32_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
los32_men_100m_3 <- los32_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
los32_men_100m_4 <- los32_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
los32_men_100m_5 <- los32_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
los32_men_100m_6 <- los32_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
los32_men_100m_7 <- los32_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
los32_men_100m_8 <- los32_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
los32_men_100m_9 <- los32_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
los32_men_100m_10 <- los32_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
los32_men_100m_11 <- los32_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
los32_men_100m_12 <- los32_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
los32_men_100m_13 <- los32_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
los32_men_100m_14 <- los32_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

los32_men_100m_all <- bind_rows(los32_men_100m_1, los32_men_100m_2, los32_men_100m_3, los32_men_100m_4, los32_men_100m_5, los32_men_100m_6, los32_men_100m_7, los32_men_100m_8, los32_men_100m_9, los32_men_100m_10, los32_men_100m_11, los32_men_100m_12, los32_men_100m_13, los32_men_100m_14)

los32_men_100m_all <- los32_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1932,"Host City" ="Los Angeles", "Host Country"="United States")

los32_men_100m_all[64,1]<- "Gold"
los32_men_100m_all[65,1]<- "Silver"
los32_men_100m_all[66,1]<- "Bronze"

head(los32_men_100m_all)
##   Rank           Athlete        Nation Time Notes Heat Year   Host City
## 1    1       Eddie Tolan United States 10.9     Q    1 1932 Los Angeles
## 2    2   José de Almeida        Brazil 11.0     Q    1 1932 Los Angeles
## 3    3    Fernando Ortíz        Mexico 11.2     Q    1 1932 Los Angeles
## 4    4      André Théard         Haiti 11.4          1 1932 Los Angeles
## 5    5 António Rodrigues      Portugal 11.5          1 1932 Los Angeles
## 6    1    George Simpson United States 10.9  <NA>    2 1932 Los Angeles
##    Host Country
## 1 United States
## 2 United States
## 3 United States
## 4 United States
## 5 United States
## 6 United States

Amsterdam 1928

ams_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1928_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-ams_men_100m%>%html_table(fill=TRUE)
ams_men_100m_1<-tables[[5]]
ams_men_100m_2<-tables[[6]]
ams_men_100m_3<-tables[[7]]
ams_men_100m_4<-tables[[8]]
ams_men_100m_5<-tables[[9]]
ams_men_100m_6<-tables[[10]]
ams_men_100m_7<-tables[[11]]
ams_men_100m_8<-tables[[12]]
ams_men_100m_9<-tables[[13]]
ams_men_100m_10<-tables[[14]]
ams_men_100m_11<-tables[[15]]
ams_men_100m_12<-tables[[16]]
ams_men_100m_13<-tables[[17]]
ams_men_100m_14<-tables[[18]]
ams_men_100m_15<-tables[[19]]
ams_men_100m_16<-tables[[20]]
ams_men_100m_17<-tables[[21]]
ams_men_100m_18<-tables[[22]]
ams_men_100m_19<-tables[[23]]
ams_men_100m_20<-tables[[24]]
ams_men_100m_21<-tables[[25]]
ams_men_100m_22<-tables[[26]]
ams_men_100m_23<-tables[[27]]
ams_men_100m_24<-tables[[28]]
ams_men_100m_25<-tables[[29]]

ams_men_100m_1 <- ams_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
ams_men_100m_2 <- ams_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
ams_men_100m_3 <- ams_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
ams_men_100m_4 <- ams_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
ams_men_100m_5 <- ams_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
ams_men_100m_6 <- ams_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
ams_men_100m_7 <- ams_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
ams_men_100m_8 <- ams_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
ams_men_100m_9 <- ams_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
ams_men_100m_10 <- ams_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
ams_men_100m_11 <- ams_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
ams_men_100m_12 <- ams_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "12")
ams_men_100m_13 <- ams_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "13")
ams_men_100m_14 <- ams_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "14")
ams_men_100m_15 <- ams_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "15")
ams_men_100m_16 <- ams_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "16")
ams_men_100m_17 <- ams_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ams_men_100m_18 <- ams_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ams_men_100m_19 <- ams_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ams_men_100m_20 <- ams_men_100m_20 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ams_men_100m_21 <- ams_men_100m_21 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ams_men_100m_22 <- ams_men_100m_22 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ams_men_100m_23 <- ams_men_100m_23 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
ams_men_100m_24 <- ams_men_100m_24 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
ams_men_100m_25 <- ams_men_100m_25 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

ams_men_100m_all <- bind_rows(ams_men_100m_1, ams_men_100m_2, ams_men_100m_3, ams_men_100m_4, ams_men_100m_5, ams_men_100m_6, ams_men_100m_7, ams_men_100m_8, ams_men_100m_9, ams_men_100m_10, ams_men_100m_11, ams_men_100m_12, ams_men_100m_13, ams_men_100m_14, ams_men_100m_15, ams_men_100m_16, ams_men_100m_17, ams_men_100m_18, ams_men_100m_19, ams_men_100m_20, ams_men_100m_21, ams_men_100m_22, ams_men_100m_23, ams_men_100m_24, ams_men_100m_25)

ams_men_100m_all <- ams_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1928,"Host City" ="Amsterdam", "Host Country"="Netherlands")

ams_men_100m_all[56,1]<- "Gold"
ams_men_100m_all[57,1]<- "Silver"
ams_men_100m_all[58,1]<- "Bronze"

head(ams_men_100m_all)
##   Rank          Athlete       Nation Time Notes Heat Year Host City
## 1    1 John Fitzpatrick       Canada 11.0     Q    1 1928 Amsterdam
## 2    2    Richard Corts      Germany 11.0     Q    1 1928 Amsterdam
## 3    3   Willy Dujardin      Belgium 11.2          1 1928 Amsterdam
## 4    4 Wilhelm Hennings  Netherlands 11.4          1 1928 Amsterdam
## 5    5  Angelos Lambrou       Greece 11.4          1 1928 Amsterdam
## 6    1  Sydney Atkinson South Africa 11.2     Q    2 1928 Amsterdam
##   Host Country
## 1  Netherlands
## 2  Netherlands
## 3  Netherlands
## 4  Netherlands
## 5  Netherlands
## 6  Netherlands

Paris 1924

par_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1924_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-par_men_100m%>%html_table(fill=TRUE)
par_men_100m_1<-tables[[5]]
par_men_100m_2<-tables[[6]]
par_men_100m_3<-tables[[7]]
par_men_100m_4<-tables[[8]]
par_men_100m_5<-tables[[9]]
par_men_100m_6<-tables[[10]]
par_men_100m_7<-tables[[11]]
par_men_100m_8<-tables[[12]]
par_men_100m_9<-tables[[13]]
par_men_100m_10<-tables[[14]]
par_men_100m_11<-tables[[15]]
par_men_100m_12<-tables[[16]]
par_men_100m_13<-tables[[17]]
par_men_100m_14<-tables[[18]]
par_men_100m_15<-tables[[19]]
par_men_100m_16<-tables[[20]]
par_men_100m_17<-tables[[21]]
par_men_100m_18<-tables[[22]]
par_men_100m_19<-tables[[23]]
par_men_100m_20<-tables[[24]]
par_men_100m_21<-tables[[25]]
par_men_100m_22<-tables[[26]]
par_men_100m_23<-tables[[27]]
par_men_100m_24<-tables[[28]]
par_men_100m_25<-tables[[29]]
par_men_100m_26<-tables[[30]]

par_men_100m_1 <- par_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
par_men_100m_2 <- par_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
par_men_100m_3 <- par_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
par_men_100m_4 <- par_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
par_men_100m_5 <- par_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
par_men_100m_6 <- par_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
par_men_100m_7 <- par_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
par_men_100m_8 <- par_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
par_men_100m_9 <- par_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
par_men_100m_10 <- par_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
par_men_100m_11 <- par_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
par_men_100m_12 <- par_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "12")
par_men_100m_13 <- par_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "13")
par_men_100m_14 <- par_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "14")
par_men_100m_15 <- par_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "15")
par_men_100m_16 <- par_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "16")
par_men_100m_17 <- par_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "17")
par_men_100m_18 <- par_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
par_men_100m_19 <- par_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
par_men_100m_20 <- par_men_100m_20 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
par_men_100m_21 <- par_men_100m_21 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
par_men_100m_22 <- par_men_100m_22 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
par_men_100m_23 <- par_men_100m_23 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
par_men_100m_24 <- par_men_100m_24 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
par_men_100m_25 <- par_men_100m_25 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
par_men_100m_26 <- par_men_100m_26 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")


par_men_100m_all <- bind_rows(par_men_100m_1, par_men_100m_2, par_men_100m_3, par_men_100m_4, par_men_100m_5, par_men_100m_6, par_men_100m_7, par_men_100m_8, par_men_100m_9, par_men_100m_10, par_men_100m_11, par_men_100m_12, par_men_100m_13, par_men_100m_14, par_men_100m_15, par_men_100m_16, par_men_100m_17, par_men_100m_18, par_men_100m_19, par_men_100m_20, par_men_100m_21, par_men_100m_22, par_men_100m_23, par_men_100m_24, par_men_100m_25, par_men_100m_26)

par_men_100m_all <- par_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1924,"Host City" ="Paris", "Host Country"="France")

par_men_100m_all[83,1]<- "Gold"
par_men_100m_all[84,1]<- "Silver"
par_men_100m_all[85,1]<- "Bronze"

head(par_men_100m_all)
##   Rank          Athlete         Nation Time Notes Heat Lane Year Host City
## 1    1  Loren Murchison  United States 10.8     Q    1   NA 1924     Paris
## 2    2   Arthur Porritt    New Zealand 10.9     Q    1   NA 1924     Paris
## 3    1    Cyril Coaffee         Canada 11.0     Q    2   NA 1924     Paris
## 4    2 Ernesto Bonacina          Italy 11.2     Q    2   NA 1924     Paris
## 5    5      Alois Linka Czechoslovakia 11.6          2   NA 1924     Paris
## 6    1  Charles Paddock  United States 11.2     Q    3   NA 1924     Paris
##   Host Country
## 1       France
## 2       France
## 3       France
## 4       France
## 5       France
## 6       France

Antwerp 1920

ant_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1920_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-ant_men_100m%>%html_table(fill=TRUE)
ant_men_100m_1<-tables[[6]]
ant_men_100m_2<-tables[[7]]
ant_men_100m_3<-tables[[8]]
ant_men_100m_4<-tables[[9]]
ant_men_100m_5<-tables[[10]]
ant_men_100m_6<-tables[[11]]
ant_men_100m_7<-tables[[12]]
ant_men_100m_8<-tables[[13]]
ant_men_100m_9<-tables[[14]]
ant_men_100m_10<-tables[[15]]
ant_men_100m_11<-tables[[16]]
ant_men_100m_12<-tables[[17]]
ant_men_100m_13<-tables[[18]]
ant_men_100m_14<-tables[[19]]
ant_men_100m_15<-tables[[20]]
ant_men_100m_16<-tables[[21]]
ant_men_100m_17<-tables[[22]]
ant_men_100m_18<-tables[[23]]
ant_men_100m_19<-tables[[24]]
ant_men_100m_20<-tables[[25]]

ant_men_100m_1 <- ant_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
ant_men_100m_2 <- ant_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
ant_men_100m_3 <- ant_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
ant_men_100m_4 <- ant_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
ant_men_100m_5 <- ant_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
ant_men_100m_6 <- ant_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
ant_men_100m_7 <- ant_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
ant_men_100m_8 <- ant_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
ant_men_100m_9 <- ant_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
ant_men_100m_10 <- ant_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
ant_men_100m_11 <- ant_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
ant_men_100m_12 <- ant_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "12")
ant_men_100m_13 <- ant_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ant_men_100m_14 <- ant_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ant_men_100m_15 <- ant_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ant_men_100m_16 <- ant_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ant_men_100m_17 <- ant_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Quarter Final")
ant_men_100m_18 <- ant_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
ant_men_100m_19 <- ant_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
ant_men_100m_20 <- ant_men_100m_20 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

ant_men_100m_all <- bind_rows(ant_men_100m_1, ant_men_100m_2, ant_men_100m_3, ant_men_100m_4, ant_men_100m_5, ant_men_100m_6, ant_men_100m_7, ant_men_100m_8, ant_men_100m_9, ant_men_100m_10, ant_men_100m_11, ant_men_100m_12, ant_men_100m_13, ant_men_100m_14, ant_men_100m_15, ant_men_100m_16, ant_men_100m_17, ant_men_100m_18, ant_men_100m_19, ant_men_100m_20)

ant_men_100m_all <- ant_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1920,"Host City" ="Antwerp", "Host Country"="Belgium")

ant_men_100m_all[60,1]<- "Gold"
ant_men_100m_all[61,1]<- "Silver"
ant_men_100m_all[62,1]<- "Bronze"

head(ant_men_100m_all)
##   Rank         Athlete        Nation Time Notes Heat Lane Year Host City
## 1    1    William Hill Great Britain 11.0     Q    1   NA 1920   Antwerp
## 2    2 Mario Riccoboni         Italy 11.2     Q    1   NA 1920   Antwerp
## 3    3   Marcel Gustin       Belgium 11.3          1   NA 1920   Antwerp
## 4    1    René Mourlon        France 11.2     Q    2   NA 1920   Antwerp
## 5    2 August Sørensen       Denmark 11.3     Q    2   NA 1920   Antwerp
## 6    1 Loren Murchison United States 10.8     Q    3   NA 1920   Antwerp
##   Host Country
## 1      Belgium
## 2      Belgium
## 3      Belgium
## 4      Belgium
## 5      Belgium
## 6      Belgium

Stockholm 1912

sto_men_100m<-read_html("https://en.wikipedia.org/wiki/Athletics_at_the_1912_Summer_Olympics_%E2%80%93_Men%27s_100_metres")
tables<-sto_men_100m%>%html_table(fill=TRUE)
sto_men_100m_1<-tables[[5]]
sto_men_100m_2<-tables[[6]]
sto_men_100m_3<-tables[[7]]
sto_men_100m_4<-tables[[8]]
sto_men_100m_5<-tables[[9]]
sto_men_100m_6<-tables[[10]]
sto_men_100m_7<-tables[[11]]
sto_men_100m_8<-tables[[12]]
sto_men_100m_9<-tables[[13]]
sto_men_100m_10<-tables[[14]]
sto_men_100m_11<-tables[[15]]
sto_men_100m_12<-tables[[16]]
sto_men_100m_13<-tables[[17]]
sto_men_100m_14<-tables[[18]]
sto_men_100m_15<-tables[[19]]
sto_men_100m_16<-tables[[20]]
sto_men_100m_17<-tables[[21]]
sto_men_100m_18<-tables[[22]]
sto_men_100m_19<-tables[[23]]
sto_men_100m_20<-tables[[24]]
sto_men_100m_21<-tables[[25]]
sto_men_100m_22<-tables[[26]]
sto_men_100m_23<-tables[[27]]
sto_men_100m_24<-tables[[28]]

sto_men_100m_1 <- sto_men_100m_1 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "1")
sto_men_100m_2 <- sto_men_100m_2 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "2")
sto_men_100m_3 <- sto_men_100m_3 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "3")
sto_men_100m_4 <- sto_men_100m_4 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "4")
sto_men_100m_5 <- sto_men_100m_5 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "5")
sto_men_100m_6 <- sto_men_100m_6 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "6")
sto_men_100m_7 <- sto_men_100m_7 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "7")
sto_men_100m_8 <- sto_men_100m_8 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "8")
sto_men_100m_9 <- sto_men_100m_9 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "9")
sto_men_100m_10 <- sto_men_100m_10 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "10")
sto_men_100m_11 <- sto_men_100m_11 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "11")
sto_men_100m_12 <- sto_men_100m_12 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "12")
sto_men_100m_13 <- sto_men_100m_13 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "13")
sto_men_100m_14 <- sto_men_100m_14 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "14")
sto_men_100m_15 <- sto_men_100m_15 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "15")
sto_men_100m_16 <- sto_men_100m_16 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "16")
sto_men_100m_17 <- sto_men_100m_17 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "17")
sto_men_100m_18 <- sto_men_100m_18 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
sto_men_100m_19 <- sto_men_100m_19 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
sto_men_100m_20 <- sto_men_100m_20 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
sto_men_100m_21 <- sto_men_100m_21 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
sto_men_100m_22 <- sto_men_100m_22 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
sto_men_100m_23 <- sto_men_100m_23 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Semi Final")
sto_men_100m_24 <- sto_men_100m_24 %>% transform(Time = as.numeric(Time), Rank = as.numeric(Rank)) %>% mutate(Heat = "Final")

sto_men_100m_all <- bind_rows(sto_men_100m_1, sto_men_100m_2, sto_men_100m_3, sto_men_100m_4, sto_men_100m_5, sto_men_100m_6, sto_men_100m_7, sto_men_100m_8, sto_men_100m_9, sto_men_100m_10, sto_men_100m_11, sto_men_100m_12, sto_men_100m_13, sto_men_100m_14, sto_men_100m_15, sto_men_100m_16, sto_men_100m_17, sto_men_100m_18, sto_men_100m_19, sto_men_100m_20, sto_men_100m_21, sto_men_100m_22, sto_men_100m_23, sto_men_100m_24)

sto_men_100m_all <- sto_men_100m_all %>%
  filter(!is.na(Time))%>%
  add_column("Year"=1912,"Host City" ="Stockholm", "Host Country"="Sweden")

sto_men_100m_all[28,1]<- "Gold"
sto_men_100m_all[29,1]<- "Silver"
sto_men_100m_all[30,1]<- "Bronze"

head(sto_men_100m_all)
##   Rank        Athlete        Nation Time Notes Heat Year Host City Host Country
## 1    1 Charles Luther        Sweden 12.8     Q    1 1912 Stockholm       Sweden
## 2    1    Ivan Möller        Sweden 11.5     Q    2 1912 Stockholm       Sweden
## 3    1   Ira Courtney United States 11.2     Q    3 1912 Stockholm       Sweden
## 4    1   Richard Rice Great Britain 11.4     Q    4 1912 Stockholm       Sweden
## 5    1  Victor d'Arcy Great Britain 11.2     Q    5 1912 Stockholm       Sweden
## 6    1    Richard Rau       Germany 11.5     Q    6 1912 Stockholm       Sweden

Combining All Mens 100m Data (All Heats)

mens_100m_all <- bind_rows(
  rio_men_100m_all,
  bei_men_100m_all,
  lon12_men_100m_all,
  ath_men_100m_all,
  syd_men_100m_all,
  atl_men_100m_all,
  bar_men_100m_all,
  seo_men_100m_all,
  los_men_100m_all,
  mos_men_100m_all,
  mon_men_100m_all,
  mun_men_100m_all,
  mex_men_100m_all,
  tok_men_100m_all,
  rom_men_100m_all,
  mel_men_100m_all,
  hel_men_100m_all,
  lon48_men_100m_all,
  ber_men_100m_all,
  los32_men_100m_all,
  ams_men_100m_all,
  par_men_100m_all,
  ant_men_100m_all,
  sto_men_100m_all)

mens_100m_all <- mens_100m_all %>%
  relocate("Year", "Host City", "Rank", "Time")

head(mens_100m_all)
##   Year      Host City Rank  Time Lane         Athlete        Nation Reaction
## 1 2016 Rio de Janeiro    1 10.13    3  Kemarley Brown       Bahrain    0.146
## 2 2016 Rio de Janeiro    2 10.13    5   Chijindu Ujah Great Britain    0.150
## 3 2016 Rio de Janeiro    3 10.16    7    Marvin Bracy United States    0.155
## 4 2016 Rio de Janeiro    4 10.26    2   Seye Ogunlewe       Nigeria    0.139
## 5 2016 Rio de Janeiro    5 10.28    1    Femi Ogunode         Qatar    0.170
## 6 2016 Rio de Janeiro    6 10.43    8 Sean Safo-Antwi         Ghana    0.145
##   Notes Heat Host Country Var.8 Var.7 Time..a. Time..hand.
## 1     Q    1       Brazil  <NA>  <NA>       NA          NA
## 2     Q    1       Brazil  <NA>  <NA>       NA          NA
## 3     q    1       Brazil  <NA>  <NA>       NA          NA
## 4          1       Brazil  <NA>  <NA>       NA          NA
## 5          1       Brazil  <NA>  <NA>       NA          NA
## 6          1       Brazil  <NA>  <NA>       NA          NA
mens_100m_gold <- mens_100m_all %>%
  filter(Rank == "Gold")%>%
  group_by(Year, Rank)

head(mens_100m_gold)
## # A tibble: 6 × 15
## # Groups:   Year, Rank [6]
##    Year `Host City`    Rank   Time  Lane Athlete   Nation   Reaction Notes Heat 
##   <dbl> <chr>          <chr> <dbl> <int> <chr>     <chr>    <chr>    <chr> <chr>
## 1  2016 Rio de Janeiro Gold   9.81     6 Usain Bo… Jamaica  0.155    SB    Final
## 2  2008 Beijing        Gold   9.69     4 Usain Bo… Jamaica  0.165    WR    Final
## 3  2012 London         Gold   9.63     7 Usain Bo… Jamaica  0.165    OR    Final
## 4  2004 Athens         Gold   9.85     3 Justin G… United … 0.188    PB    Final
## 5  2000 Sydney         Gold   9.87     5 Maurice … United … 0.197    <NA>  Final
## 6  1996 Atlanta        Gold   9.84     6 Donovan … Canada   <NA>     WR    Final
## # … with 5 more variables: Host Country <chr>, Var.8 <chr>, Var.7 <chr>,
## #   Time..a. <dbl>, Time..hand. <dbl>
str(mens_100m_all)
## 'data.frame':    2687 obs. of  15 variables:
##  $ Year        : num  2016 2016 2016 2016 2016 ...
##  $ Host City   : chr  "Rio de Janeiro" "Rio de Janeiro" "Rio de Janeiro" "Rio de Janeiro" ...
##  $ Rank        : chr  "1" "2" "3" "4" ...
##  $ Time        : num  10.1 10.1 10.2 10.3 10.3 ...
##  $ Lane        : int  3 5 7 2 1 8 9 6 4 8 ...
##  $ Athlete     : chr  "Kemarley Brown" "Chijindu Ujah" "Marvin Bracy" "Seye Ogunlewe" ...
##  $ Nation      : chr  "Bahrain" "Great Britain" "United States" "Nigeria" ...
##  $ Reaction    : chr  "0.146" "0.150" "0.155" "0.139" ...
##  $ Notes       : chr  "Q" "Q" "q" "" ...
##  $ Heat        : chr  "1" "1" "1" "1" ...
##  $ Host Country: chr  "Brazil" "Brazil" "Brazil" "Brazil" ...
##  $ Var.8       : chr  NA NA NA NA ...
##  $ Var.7       : chr  NA NA NA NA ...
##  $ Time..a.    : num  NA NA NA NA NA NA NA NA NA NA ...
##  $ Time..hand. : num  NA NA NA NA NA NA NA NA NA NA ...
levels(as.factor(mens_100m_all$`Host City`))
##  [1] "Amsterdam"      "Antwerp"        "Athens"         "Atlanta"       
##  [5] "Barcelona"      "Beijing"        "Berlin"         "Helsinki"      
##  [9] "London"         "Los Angeles"    "Melbourne"      "Mexico City"   
## [13] "Montreal"       "Moscow"         "Munich"         "Paris"         
## [17] "Rio de Janeiro" "Rome"           "Seoul"          "Stockholm"     
## [21] "Sydney"         "Tokyo"
levels(as.factor(mens_100m_all$Nation))
##   [1] "Afghanistan"                      "Albania"                         
##   [3] "Algeria"                          "American Samoa"                  
##   [5] "Angola"                           "Antigua and Barbuda"             
##   [7] "Argentina"                        "Aruba"                           
##   [9] "Australasia"                      "Australia"                       
##  [11] "Austria"                          "Azerbaijan"                      
##  [13] "Bahamas"                          "Bahrain"                         
##  [15] "Bangladesh"                       "Barbados"                        
##  [17] "Belgium"                          "Belize"                          
##  [19] "Benin"                            "Bermuda"                         
##  [21] "Bohemia"                          "Bolivia"                         
##  [23] "Botswana"                         "Brazil"                          
##  [25] "British Virgin Islands"           "British West Indies"             
##  [27] "Brunei"                           "Bulgaria"                        
##  [29] "Burkina Faso"                     "Burma"                           
##  [31] "Cambodia"                         "Cameroon"                        
##  [33] "Canada"                           "Cayman Islands"                  
##  [35] "Central African Republic"         "Ceylon"                          
##  [37] "Chad"                             "Chile"                           
##  [39] "China"                            "Chinese Taipei"                  
##  [41] "Colombia"                         "Comoros"                         
##  [43] "Cook Islands"                     "Costa Rica"                      
##  [45] "Croatia"                          "Cuba"                            
##  [47] "Cyprus"                           "Czech Republic"                  
##  [49] "Czechoslovakia"                   "Denmark"                         
##  [51] "Dominican Republic"               "East Germany"                    
##  [53] "Ecuador"                          "Egypt"                           
##  [55] "El Salvador"                      "Equatorial Guinea"               
##  [57] "Estonia"                          "Ethiopia"                        
##  [59] "Federated States of Micronesia"   "Fiji"                            
##  [61] "Finland"                          "Formosa"                         
##  [63] "France"                           "Gabon"                           
##  [65] "Georgia"                          "Germany"                         
##  [67] "Ghana"                            "Great Britain"                   
##  [69] "Greece"                           "Grenada"                         
##  [71] "Guam"                             "Guatemala"                       
##  [73] "Guinea"                           "Guinea-Bissau"                   
##  [75] "Guyana"                           "Haiti"                           
##  [77] "Honduras"                         "Hong Kong"                       
##  [79] "Hungary"                          "Iceland"                         
##  [81] "India"                            "Indonesia"                       
##  [83] "Iran"                             "Iraq"                            
##  [85] "Ireland"                          "Israel"                          
##  [87] "Italy"                            "Ivory Coast"                     
##  [89] "Jamaica"                          "Japan"                           
##  [91] "Jordan"                           "Kazakhstan"                      
##  [93] "Kenya"                            "Khmer Republic"                  
##  [95] "Kiribati"                         "Kuwait"                          
##  [97] "Kyrgyzstan"                       "Laos"                            
##  [99] "Latvia"                           "Lebanon"                         
## [101] "Lesotho"                          "Liberia"                         
## [103] "Libya"                            "Liechtenstein"                   
## [105] "Lithuania"                        "Luxembourg"                      
## [107] "Macedonia"                        "Madagascar"                      
## [109] "Malawi"                           "Malaya"                          
## [111] "Malaysia"                         "Maldives"                        
## [113] "Mali"                             "Malta"                           
## [115] "Marshall Islands"                 "Mauritania"                      
## [117] "Mauritius"                        "Mexico"                          
## [119] "Monaco"                           "Mongolia"                        
## [121] "Morocco"                          "Mozambique"                      
## [123] "Namibia"                          "Nepal"                           
## [125] "Netherlands"                      "Netherlands Antilles"            
## [127] "New Zealand"                      "Nicaragua"                       
## [129] "Niger"                            "Nigeria"                         
## [131] "Northern Rhodesia"                "Norway"                          
## [133] "Oman"                             "Pakistan"                        
## [135] "Palau"                            "Palestine"                       
## [137] "Panama"                           "Papua New Guinea"                
## [139] "Paraguay"                         "Peru"                            
## [141] "Philippines"                      "Poland"                          
## [143] "Portugal"                         "Puerto Rico"                     
## [145] "Qatar"                            "Republic of China"               
## [147] "Republic of the Congo"            "Rhodesia"                        
## [149] "Romania"                          "Russia"                          
## [151] "Saint Kitts and Nevis"            "Saint Lucia"                     
## [153] "Saint Vincent and the Grenadines" "San Marino"                      
## [155] "São Tomé and Príncipe"            "Saudi Arabia"                    
## [157] "Senegal"                          "Serbia"                          
## [159] "Seychelles"                       "Sierra Leone"                    
## [161] "Singapore"                        "Slovenia"                        
## [163] "Solomon Islands"                  "South Africa"                    
## [165] "South Korea"                      "South Yemen"                     
## [167] "Soviet Union"                     "Spain"                           
## [169] "Sri Lanka"                        "Sudan"                           
## [171] "Suriname"                         "Swaziland"                       
## [173] "Sweden"                           "Switzerland"                     
## [175] "Syria"                            "Taiwan"                          
## [177] "Tanzania"                         "Thailand"                        
## [179] "The Gambia"                       "Togo"                            
## [181] "Tonga"                            "Trinidad and Tobago"             
## [183] "Turkey"                           "Tuvalu"                          
## [185] "Uganda"                           "Ukraine"                         
## [187] "Unified Team"                     "United Arab Emirates"            
## [189] "United States"                    "United Team of Germany"          
## [191] "Upper Volta"                      "Uruguay"                         
## [193] "Uzbekistan"                       "Vanuatu"                         
## [195] "Venezuela"                        "Vietnam"                         
## [197] "Virgin Islands"                   "West Germany"                    
## [199] "Yugoslavia"                       "Zambia"                          
## [201] "Zimbabwe"
mens_100m_mmm <- mens_100m_all %>%
  select(Year, `Host City`, Time) %>%
  group_by(Year)%>%
  mutate(meanTime = mean(Time), medTime = median(Time), minTime = min(Time), maxTime = max(Time))

head(mens_100m_mmm)
## # A tibble: 6 × 7
## # Groups:   Year [1]
##    Year `Host City`     Time meanTime medTime minTime maxTime
##   <dbl> <chr>          <dbl>    <dbl>   <dbl>   <dbl>   <dbl>
## 1  2016 Rio de Janeiro  10.1     10.2    10.2    9.81    11.9
## 2  2016 Rio de Janeiro  10.1     10.2    10.2    9.81    11.9
## 3  2016 Rio de Janeiro  10.2     10.2    10.2    9.81    11.9
## 4  2016 Rio de Janeiro  10.3     10.2    10.2    9.81    11.9
## 5  2016 Rio de Janeiro  10.3     10.2    10.2    9.81    11.9
## 6  2016 Rio de Janeiro  10.4     10.2    10.2    9.81    11.9
mens_100m_min <- mens_100m_mmm %>%
  select(Year, minTime) %>%
  group_by(Year)

head(mens_100m_min)
## # A tibble: 6 × 2
## # Groups:   Year [1]
##    Year minTime
##   <dbl>   <dbl>
## 1  2016    9.81
## 2  2016    9.81
## 3  2016    9.81
## 4  2016    9.81
## 5  2016    9.81
## 6  2016    9.81
mens_100m_mmmm <- mens_100m_all %>%
  select(Year, `Host City`, Time) %>%
  group_by(Year)%>%
  mutate(meanTime = mean(Time), medTime = median(Time), minTime = min(Time), maxTime = max(Time))

mens_100m_mmmm <- gather(mens_100m_mmmm, 'Time Type', 'mmmTime', 4:7) %>%
  mutate(minTime = min(Time))%>%
  arrange(desc(Year))

head(mens_100m_mmmm)
## # A tibble: 6 × 6
## # Groups:   Year [1]
##    Year `Host City`     Time `Time Type` mmmTime minTime
##   <dbl> <chr>          <dbl> <chr>         <dbl>   <dbl>
## 1  2016 Rio de Janeiro  10.1 meanTime       10.2    9.81
## 2  2016 Rio de Janeiro  10.1 meanTime       10.2    9.81
## 3  2016 Rio de Janeiro  10.2 meanTime       10.2    9.81
## 4  2016 Rio de Janeiro  10.3 meanTime       10.2    9.81
## 5  2016 Rio de Janeiro  10.3 meanTime       10.2    9.81
## 6  2016 Rio de Janeiro  10.4 meanTime       10.2    9.81

Will continue to work on labeling and refining. This is just the beginning of graphing the average and minimum times over the years. (Make a column for min, mean, median to plot)

mens_100m_mmmm <- mens_100m_mmmm %>%
  filter(`Time Type` != "maxTime")

levels(as.factor(mens_100m_mmmm$'Time Type'))
## [1] "meanTime" "medTime"  "minTime"
mens_100m_gsb <- mens_100m_all %>%
  filter(Rank %in% c("Gold", "Silver", "Bronze"))%>%
  group_by(Year)

head(mens_100m_gsb)
## # A tibble: 6 × 15
## # Groups:   Year [2]
##    Year `Host City`    Rank    Time  Lane Athlete   Nation  Reaction Notes Heat 
##   <dbl> <chr>          <chr>  <dbl> <int> <chr>     <chr>   <chr>    <chr> <chr>
## 1  2016 Rio de Janeiro Gold    9.81     6 Usain Bo… Jamaica 0.155    "SB"  Final
## 2  2016 Rio de Janeiro Silver  9.89     4 Justin G… United… 0.152    ""    Final
## 3  2016 Rio de Janeiro Bronze  9.91     7 Andre De… Canada  0.141    "PB"  Final
## 4  2008 Beijing        Gold    9.69     4 Usain Bo… Jamaica 0.165    "WR"  Final
## 5  2008 Beijing        Silver  9.89     5 Richard … Trinid… 0.133    "PB"  Final
## 6  2008 Beijing        Bronze  9.91     6 Walter D… United… 0.133    "PB"  Final
## # … with 5 more variables: Host Country <chr>, Var.8 <chr>, Var.7 <chr>,
## #   Time..a. <dbl>, Time..hand. <dbl>
mens_100m_gsbplot <- ggplot(mens_100m_gsb, aes(Year, Time, color = Rank))+
  geom_point()+
  geom_smooth(se=F, span = 0.37)+
   labs(title = "Gold, Silver & Bronze Medals Over 100 Years",
       subtitle = "Mens 100m Dash",
       y = "Time (in seconds)")+
  theme(panel.background = element_blank(),
        plot.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        plot.title = element_text(family = "Courier"),
        legend.title = element_text(family = "Courier"),
        plot.subtitle = element_text(family = "Courier"),
        axis.text = element_text(family = "Courier"),
        legend.text = element_text(family = "Courier"),
        legend.background = element_blank(),
        axis.title = element_text(family = "Courier"),
         legend.key = element_rect(fill = "white"))+
  scale_color_manual(values = c("#FFB48C", "#EBD739", "#B5BCC2"))

mens_100m_gsbplot

ggplot(mens_100m_gsb, aes(Year, Time, color = Rank))+
  geom_point()+
  geom_smooth(se=F, span = 0.37)+
   labs(title = "Gold, Silver & Bronze Medals Over 100 Years",
       subtitle = "Mens 100m Dash",
       y = "Time (in seconds)")+
  theme(panel.background = element_blank(),
        plot.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        plot.title = element_text(family = "Courier"),
        legend.title = element_text(family = "Courier"),
        plot.subtitle = element_text(family = "Courier"),
        axis.text = element_text(family = "Courier"),
        legend.text = element_text(family = "Courier"),
        legend.background = element_blank(),
        axis.title = element_text(family = "Courier"),
         legend.key = element_rect(fill = "white"))+
  scale_color_manual(values = c("#FFB48C", "#EBD739", "#B5BCC2"))+
  scale_y_continuous(breaks = c(9, 9.5, 10, 10.5, 11),
                     labels = c("9", "9.5", "10", "10.5", "11"))

ggplot(mens_100m_gsb, aes(Year, Time, color = Rank))+
  geom_point()+
  geom_smooth(method = "lm", se = FALSE)+
   labs(title = "Gold, Silver & Bronze Medals Over 100 Years",
       subtitle = "Mens 100m Dash",
       y = "Time (in seconds)")+
  theme(panel.background = element_blank(),
        plot.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        plot.title = element_text(family = "Courier"),
        legend.title = element_text(family = "Courier"),
        plot.subtitle = element_text(family = "Courier"),
        axis.text = element_text(family = "Courier"),
        legend.text = element_text(family = "Courier"),
        legend.background = element_blank(),
        axis.title = element_text(family = "Courier"),
         legend.key = element_rect(fill = "white"))+
  scale_color_manual(values = c("#FFB48C", "#EBD739", "#B5BCC2"))

ggplot(mens_100m_gsb, aes(Year, Time, color = Rank))+
  geom_point()+
  geom_line()+
  geom_rect(aes(xmin=1939, xmax=1945, ymin=9.5, ymax=10.9), color = "grey", linetype = "dotted", alpha = 0)+
  geom_vline(xintercept = 1967, color = "grey", linetype = 'dashed', size=0.5)+
  labs(title = "Gold, Silver & Bronze Medals Over 100 Years",
       subtitle = "Mens 100m Dash",
       y = "Time (in seconds)")+
  theme(panel.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        plot.title = element_text(family = "Courier"),
        legend.title = element_text(family = "Courier"),
        plot.subtitle = element_text(family = "Courier"),
        axis.text = element_text(family = "Courier"),
        legend.text = element_text(family = "Courier"),
        axis.title = element_text(family = "Courier"),
        legend.key = element_rect(fill = "white"))+
  scale_color_manual(values = c("#FFB48C", "#EBD739", "#B5BCC2"))+
  geom_text(aes(1928, 9.6), label = "World War II", size = 3.8, family = "Courier", color = "grey")+
  geom_text(aes(1977, 9.6), label = "PEDs Banned", size = 3.8, family = "Courier", color = "grey")

mens_100m_gsb_ani <- ggplot(mens_100m_gsb, aes(Year, Time, color = Rank, frame = Year))+
  geom_point(size = 5, alpha = 0.6)+
  geom_line()+
   labs(title = "Gold, Silver & Bronze Medals Over 100 Years",
       subtitle = "Mens 100m Dash",
       y = "Time (in seconds)")+
  theme(panel.background = element_blank(),
        plot.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        plot.title = element_text(family = "Courier"),
        legend.title = element_text(family = "Courier"),
        plot.subtitle = element_text(family = "Courier"),
        axis.text = element_text(family = "Courier"),
        legend.text = element_text(family = "Courier"),
        legend.background = element_blank(),
        axis.title = element_text(family = "Courier"),
         legend.key = element_rect(fill = "white"))+
  scale_color_manual(values = c("#FFB48C", "#EBD739", "#B5BCC2"))

ggplotly(mens_100m_gsb_ani)
mens_100m_mmmplot <- ggplot(mens_100m_mmmm, aes(Year, mmmTime, color = `Time Type`))+
  geom_point()+
  geom_smooth(se = FALSE)+
  theme(panel.background = element_blank(),
        plot.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        plot.title = element_text(family = "Courier"),
        legend.background = element_blank(),
        legend.title = element_text(family = "Courier"),
        legend.text = element_text(family = "Courier"),
        legend.key = element_blank(),
        axis.text = element_text(family = "Courier"),
        axis.title = element_text(family = "Courier"))+
  scale_y_continuous(limits = c(9.5, 11.25))+
  scale_color_manual(values = c("#FC4E07", "#00CCFF", "#E7B800"))+
  labs(title = "Minimum, Mean & Median Times Over 100 Years",
       subtitle = "Mens 100m Dash",
       y = "Time (in seconds)")

mens_100m_mmmplot

ggplot(mens_100m_mmmm, aes(Year, mmmTime, color = `Time Type`))+
  geom_point()+
  geom_smooth(method = "lm")+
  theme(panel.background = element_blank(),
        plot.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        plot.title = element_text(family = "Courier"),
        legend.background = element_blank(),
        legend.key = element_blank(),
        legend.title = element_text(family = "Courier"),
        legend.text = element_text(family = "Courier"),
        axis.text = element_text(family = "Courier"),
        axis.title = element_text(family = "Courier"))+
  scale_y_continuous(limits = c(9.5, 11.25))+
  scale_color_manual(values = c("#FC4E07", "#00AFBB", "#E7B800"))+
  labs(title = "Minimum, Mean & Median Times Over 100 Years",
       subtitle = "Mens 100m Dash",
       y = "Time (in seconds)")

mens_100m_mmm_ani <- ggplot(mens_100m_mmmm, aes(Year, mmmTime, color = `Time Type`, frame = Year))+
  geom_point(size = 5)+
  theme(panel.background = element_blank(),
        plot.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        plot.title = element_text(family = "Courier"),
        axis.text = element_text(family = "Courier"),
        axis.title = element_text(family = "Courier"),
        legend.background = element_blank(),
        legend.title = element_text(family = "Courier"),
        legend.text = element_text(family = "Courier"))+
  scale_color_manual(values = c("#FC4E07", "#00AFBB", "#E7B800"))+
  labs(title = "Minimum, Mean & Median Times Over 100 Years",
       subtitle = "Mens 100m Dash",
       y = "Time (in seconds)")

ggplotly(mens_100m_mmm_ani)
mens_100m_box <- ggplot()+
  geom_boxplot(data = atl_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = rio_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = bei_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = lon12_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = ath_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = syd_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = atl_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = bar_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = seo_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = los_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = mos_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = mon_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = mun_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = mex_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = tok_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = rom_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = mel_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = hel_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = lon48_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = ber_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = los32_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = ams_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = par_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = ant_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_boxplot(data = sto_men_100m_all, aes(Time, Year), fill = "oldlace")+
  geom_point(data = mens_100m_gold, aes(Time, Year, color = "Rank"), color = "yellow", size=2)+
  coord_flip()+
  theme(panel.background = element_rect(fill = "#00CCFF"), 
        plot.background = element_rect(fill = "#00CCFF"),
        panel.grid.major.y = element_blank(),
        panel.grid.minor.y = element_blank(),
        panel.grid.major.x = element_blank(),
        panel.grid.minor.x = element_blank(),
        plot.title = element_text(family = "Courier-Bold", color = "grey20"),
        plot.subtitle = element_text(color = "grey20", family = "Courier"),
        axis.text = element_text(color = "grey20", family = "Courier"),
        axis.title = element_text(color = "grey20", family = "Courier-Bold"),
        axis.ticks = element_blank())+
  labs(title = "Are Humans Collectively Gaining Speed?",
       subtitle = "100 Years of Mens 100m Race Times at the Olympics")+
  scale_x_continuous("Time (in seconds)", limits = c(9.25,12.75), expand = c(0,0))+
  scale_y_continuous(breaks = c(1912, 1920, 1928, 1936, 1944, 1952, 1960, 1968, 1976, 1984, 1992, 2000, 2008, 2016),
                     labels = c("1912", "1920", "1928", "1936", "1944", "1952", "1960", "1968", "1976", "1984", "1992", "2000", "2008", "2016"))+
  geom_hline(yintercept = 1967, size = 1, color = "oldlace", linetype = 'dotted')+
  geom_rect(aes(xmin=9.25, xmax=12.75, ymin=1939, ymax=1945), fill="oldlace", color = "oldlace", linetype = "dotted", alpha = 0.2, size = 0.8)+
  geom_text(aes(9.5, 1933.5), label = "World War II", size = 4.2, family = "Courier-Bold", color = "white")+
  geom_text(aes(9.5, 1972), label = "PEDs Banned", size = 4.2, family = "Courier-Bold", color = "white")

mens_100m_box

write.csv(mens_100m_min, "/Users/rochellerafn/RStudio Files/mens_100m_min.csv")
library(readxl)

mens_100m_change1 <- read_xlsx("/Users/rochellerafn/RStudio Files/mens_100m_min.xlsx", sheet = 2, col_names = c("Year", "minTime", "Change"))

mens_100m_change1 <- mens_100m_change1 %>%
  filter(!is.na(Change)) %>%
  transform(Change = as.numeric(Change))
  
mens_100m_change1
##    Year            minTime      Change
## 1  Year            minTime          NA
## 2  1912               10.6  0.00000000
## 3  1920               10.8  1.88679245
## 4  1924               10.6 -1.85185185
## 5  1928               10.6  0.00000000
## 6  1932              10.38 -2.07547170
## 7  1936 10.199999999999999 -1.73410405
## 8  1948               10.3  0.98039216
## 9  1952              10.65  3.39805825
## 10 1956              10.52 -1.22065728
## 11 1960 10.199999999999999 -3.04182510
## 12 1964                9.9 -2.94117647
## 13 1968                9.9  0.00000000
## 14 1972              10.07  1.71717172
## 15 1976              10.06 -0.09930487
## 16 1980              10.11  0.49701789
## 17 1984               9.99 -1.18694362
## 18 1988 9.7899999999999991 -2.00200200
## 19 1992 9.9600000000000009  1.73646578
## 20 1996               9.84 -1.20481928
## 21 2000 9.8699999999999992  0.30487805
## 22 2004               9.85 -0.20263425
## 23 2008               9.69 -1.62436548
## 24 2012 9.6300000000000008 -0.61919505
## 25 2016               9.81  1.86915888
ggplot(mens_100m_change1, aes(Year, Change))+
  geom_col()

mens_100m_change2 <- read_xlsx("/Users/rochellerafn/RStudio Files/mens_100m_min.xlsx", sheet = 3, col_names = c("Year", "minTime", "Change", "Change2"))

mens_100m_change2 <- mens_100m_change2 %>%
  filter(!is.na(Change)) %>%
  transform(Change = as.numeric(Change), Change2 = as.numeric(Change2))
  
mens_100m_change2
##    Year            minTime      Change    Change2
## 1  Year            minTime          NA         NA
## 2  1912               10.6  0.00000000  0.0000000
## 3  1920               10.8  1.88679245  1.8867925
## 4  1924               10.6 -1.85185185  0.0000000
## 5  1928               10.6  0.00000000  0.0000000
## 6  1932              10.38 -2.07547170 -2.0754717
## 7  1936 10.199999999999999 -1.73410405 -3.7735849
## 8  1948               10.3  0.98039216 -2.8301887
## 9  1952              10.65  3.39805825  0.4716981
## 10 1956              10.52 -1.22065728 -0.7547170
## 11 1960 10.199999999999999 -3.04182510 -3.7735849
## 12 1964                9.9 -2.94117647 -6.6037736
## 13 1968                9.9  0.00000000 -6.6037736
## 14 1972              10.07  1.71717172 -5.0000000
## 15 1976              10.06 -0.09930487 -5.0943396
## 16 1980              10.11  0.49701789 -4.6226415
## 17 1984               9.99 -1.18694362 -5.7547170
## 18 1988 9.7899999999999991 -2.00200200 -7.6415094
## 19 1992 9.9600000000000009  1.73646578 -6.0377358
## 20 1996               9.84 -1.20481928 -7.1698113
## 21 2000 9.8699999999999992  0.30487805 -6.8867925
## 22 2004               9.85 -0.20263425 -7.0754717
## 23 2008               9.69 -1.62436548 -8.5849057
## 24 2012 9.6300000000000008 -0.61919505 -9.1509434
## 25 2016               9.81  1.86915888 -7.4528302
ggplot(mens_100m_change2, aes(Year, Change2))+
  geom_col()

mens_100m_change3 <- read_xlsx("/Users/rochellerafn/RStudio Files/mens_100m_min.xlsx", sheet = 4, col_names = c("Year", "minTime", "Change", "Change3"))

mens_100m_change3 <- mens_100m_change3 %>%
  filter(!is.na(Change)) %>%
  transform(Change = as.numeric(Change), Change3 = as.numeric(Change3))
  
mens_100m_change3
##    Year            minTime      Change Change3
## 1  Year            minTime          NA      NA
## 2  1912               10.6  0.00000000    0.00
## 3  1920               10.8  1.88679245    0.20
## 4  1924               10.6 -1.85185185   -0.20
## 5  1928               10.6  0.00000000    0.00
## 6  1932              10.38 -2.07547170   -0.22
## 7  1936 10.199999999999999 -1.73410405   -0.18
## 8  1948               10.3  0.98039216    0.10
## 9  1952              10.65  3.39805825    0.35
## 10 1956              10.52 -1.22065728   -0.13
## 11 1960 10.199999999999999 -3.04182510   -0.32
## 12 1964                9.9 -2.94117647   -0.30
## 13 1968                9.9  0.00000000    0.00
## 14 1972              10.07  1.71717172    0.17
## 15 1976              10.06 -0.09930487   -0.01
## 16 1980              10.11  0.49701789    0.05
## 17 1984               9.99 -1.18694362   -0.12
## 18 1988 9.7899999999999991 -2.00200200   -0.20
## 19 1992 9.9600000000000009  1.73646578    0.17
## 20 1996               9.84 -1.20481928   -0.12
## 21 2000 9.8699999999999992  0.30487805    0.03
## 22 2004               9.85 -0.20263425   -0.02
## 23 2008               9.69 -1.62436548   -0.16
## 24 2012 9.6300000000000008 -0.61919505   -0.06
## 25 2016               9.81  1.86915888    0.18
ggplot(mens_100m_change3, aes(Year, Change3))+
  geom_col()

mens_100m_nations <- mens_100m_all %>%
  group_by(Year, Time)%>%
  count(Nation)%>%
  arrange(Year)

mens_100m_nations
## # A tibble: 2,415 × 4
## # Groups:   Year, Time [1,280]
##     Year  Time Nation            n
##    <dbl> <dbl> <chr>         <int>
##  1  1912  10.6 United States     1
##  2  1912  10.7 United States     3
##  3  1912  10.8 Great Britain     1
##  4  1912  10.8 United States     1
##  5  1912  10.9 Germany           1
##  6  1912  10.9 South Africa      1
##  7  1912  10.9 United States     2
##  8  1912  11   Australasia       1
##  9  1912  11   Canada            1
## 10  1912  11   Great Britain     1
## # … with 2,405 more rows
library(countrycode)

country_code <- countrycode(mens_100m_nations$Nation, origin = 'country.name', destination = 'iso3c')

country_code
##    [1] "USA" "USA" "GBR" "USA" "DEU" "ZAF" "USA" NA    "CAN" "GBR" "ZAF" "USA"
##   [13] "USA" "GBR" "USA" "GBR" "DEU" "SWE" "CZE" "SRB" "SWE" "USA" "ISL" "SWE"
##   [25] "GBR" "USA" "BEL" "FRA" "GBR" "NZL" "USA" "AUS" "FRA" "GBR" "NLD" "ZAF"
##   [37] "CHE" "USA" "CAN" "FRA" "GBR" "NZL" "ESP" "CHE" "DNK" "FRA" "ITA" "NOR"
##   [49] "ESP" "USA" "BEL" "DNK" "GBR" "ITA" "BEL" "CAN" "ITA" "ITA" "NLD" "JPN"
##   [61] "ESP" "FRA" "MCO" "GBR" "AUS" "CAN" "USA" "CAN" "NZL" "USA" "AUS" "NZL"
##   [73] "USA" "AUS" "CAN" "FRA" "GBR" "HUN" "ITA" "NLD" "USA" "BEL" "FIN" "FRA"
##   [85] "ITA" "LUX" "NLD" "NZL" "CAN" "FRA" "HTI" "ITA" "NLD" "ZAF" "CHE" "USA"
##   [97] NA    "FIN" "GBR" "HUN" "IND" "LUX" "ESP" "SWE" "CAN" "FRA" "HUN" "POL"
##  [109] "ESP" "SWE" "CAN" "DNK" "EST" "ITA" "POL" NA    "POL" "ESP" "LVA" "CAN"
##  [121] "GBR" "ZAF" "USA" "DEU" "USA" "CAN" "DEU" "GBR" "HUN" "ZAF" "USA" "CAN"
##  [133] "DEU" "GBR" "ARG" "AUS" "CAN" "CUB" "DEU" "GBR" "HUN" "ZAF" "USA" "AUS"
##  [145] "FRA" "NLD" "AUT" "BEL" "ZAF" NA    "FIN" "FRA" "GRC" "NLD" "ESP" "CHE"
##  [157] "CHE" "LUX" "USA" "ARG" "DEU" "USA" "DEU" "ZAF" "USA" "DEU" "CAN" "NLD"
##  [169] "USA" "DEU" "ARG" "USA" "USA" "JPN" "ARG" "BRA" "JPN" "NZL" "ZAF" "USA"
##  [181] "JPN" "CAN" "GBR" "JPN" "NZL" "USA" "CAN" "CAN" "BRA" "DEU" "IND" "MEX"
##  [193] "NZL" "ZAF" "USA" "ARG" "CAN" NA    "DEU" "GBR" "NLD" "ARG" "CAN" NA   
##  [205] "DEU" "MEX" "DEU" "GBR" "GRC" "BRA" "HTI" "IND" "MEX" "BRA" "CHN" "PRT"
##  [217] "USA" "USA" "USA" "DEU" "NLD" "SWE" "USA" "CAN" "GBR" "NLD" "CHE" "USA"
##  [229] "CAN" "DEU" "GBR" "HUN" "JPN" "NLD" "ZAF" "SWE" "CHE" "CAN" "DEU" "GBR"
##  [241] "GRC" "HUN" "JPN" "NLD" "SWE" "USA" "ARG" "FIN" "HUN" "LUX" "ZAF" "SWE"
##  [253] "ARG" "EST" "FRA" "JPN" "NLD" "ZAF" "SWE" "BRA" "FRA" "PHL" "ARG" "CHE"
##  [265] "HUN" NA    "USA" "USA" "AUS" "GBR" "PAN" "USA" "URY" "AUS" "BRA" "CUB"
##  [277] "GBR" "PAN" "USA" "URY" "GBR" "USA" "AUS" "CUB" "GBR" "AUS" "ARG" "AUS"
##  [289] "BEL" "FRA" "JAM" "TTO" "GBR" "CUB" "FRA" "BRA" "CAN" "PRT" "BRA" "CAN"
##  [301] "AUS" "CHL" "HUN" "ISL" "IND" "JAM" "NLD" "URY" "GBR" "BRA" "PER" "TTO"
##  [313] "URY" "CHL" "URY" "ARG" "BRA" "NLD" "BEL" "CUB" "HUN" "NOR" "ZAF" "HUN"
##  [325] "AUS" "ARG" "ISL" "PER" "ISL" "ISL" "PAK" "ARG" "CUB" "IND" "BEL" "PHL"
##  [337] "PRT" "TUR" "NLD" "TUR" "BEL" "MLT" "GRC" "BMU" "EGY" "MMR" "BMU" "IRQ"
##  [349] "MEX" "GBR" "USA" "USA" "JAM" "GBR" "USA" "GBR" "JAM" "USA" "USA" "AUS"
##  [361] "USA" "USA" "JAM" "GBR" "AUS" "USA" "RUS" "JAM" "RUS" "CUB" "USA" "AUS"
##  [373] "AUS" "CUB" "RUS" "CUB" "NLD" "RUS" "GBR" "IND" "FRA" "FRA" "DEU" "IND"
##  [385] "ITA" "FRA" "FRA" "IND" "CHE" "BGR" "GBR" "NLD" "PAK" "DEU" "JPN" "FRA"
##  [397] "GBR" "JAM" "CHE" "GBR" "HUN" "ARG" "HUN" "JAM" "ISR" "ARG" "IRL" "ISR"
##  [409] "NLD" "NGA" "POL" "RUS" "JPN" "RUS" "PAK" "GHA" "ITA" "PAK" "CUB" "DEU"
##  [421] "CHE" NA    "CAN" NA    "NGA" "CAN" "GBR" "HUN" "NGA" "BGR" "JPN" "FIN"
##  [433] "ISL" "VEN" NA    "FIN" "MEX" "GRC" "FIN" "EGY" "ISL" "VEN" "USA" "CAN"
##  [445] "PRT" "GHA" "PAK" "EGY" "EGY" "CHE" "ISL" "GTM" "ARG" "THA" "THA" "ITA"
##  [457] "PRT" "THA" "ITA" "USA" "USA" "USA" "AUS" "USA" "USA" "NZL" "AUS" "TTO"
##  [469] "AUS" "USA" "AUS" "NZL" "PAK" "TTO" "USA" "DEU" "POL" "NZL" "POL" "RUS"
##  [481] "DEU" "DEU" "RUS" "POL" "TTO" "UGA" "USA" "RUS" "DEU" "CAN" "PAK" "RUS"
##  [493] "USA" "CAN" "HUN" "POL" "FRA" "GBR" "ITA" "PAK" "POL" "TTO" "DEU" "HUN"
##  [505] "JPN" "ITA" "NGA" "HUN" "NGA" "GBR" "RUS" "AUS" "GBR" "JPN" "NGA" "RUS"
##  [517] "DEU" "RUS" "ISL" "ITA" "BRA" "ITA" "VEN" "AUS" "BRA" "VEN" "GBR" "TTO"
##  [529] "CAN" "GUY" "JAM" "FRA" "MEX" "PAK" "THA" "BHS" "SGP" "AUS" "TTO" "TTO"
##  [541] NA    "LBR" "GBR" "IDN" "LBR" "NGA" "CUB" "ETH" NA    "NOR" "CAN" "SGP"
##  [553] "THA" NA    "ETH" "THA" "ETH" "UGA" "USA" "DEU" "CUB" "GBR" "USA" "DEU"
##  [565] NA    "CAN" "CUB" "FRA" "GBR" "KEN" "POL" "USA" "VEN" "BHS" "CAN" "FRA"
##  [577] "GBR" "KEN" "NOR" "POL" "RUS" "USA" "VEN" "BHS" "FRA" "KEN" "ZAF" "UGA"
##  [589] "USA" "DEU" "FJI" "FRA" "NOR" "ZAF" "RUS" "USA" "VEN" "BRA" "CAN" "FJI"
##  [601] "MEX" "CHE" "THA" "DEU" "VEN" "CAN" "ISL" "IDN" "IRL" NA    "MAR" "UGA"
##  [613] "AUT" "BEL" "BGR" "GHA" "GRC" "PHL" "DEU" "ISR" "SDN" "VEN" "AUS" "EGY"
##  [625] "TWN" "LBR" "PAK" "ESP" "ETH" "IND" "IRQ" "TUR" "KOR" "AFG" "USA" "USA"
##  [637] "POL" "BHS" "CAN" "CUB" "AUS" "BHS" "CAN" "CUB" "JAM" "JPN" "POL" "USA"
##  [649] "DEU" "AUS" "CUB" "FRA" "CIV" "JAM" "POL" "RUS" "USA" "DEU" "VEN" "AUS"
##  [661] "BHS" "CAN" "CHL" "CUB" "FRA" "GBR" "CIV" "JAM" "JPN" "MAR" "POL" "RUS"
##  [673] "USA" "DEU" "VEN" "AUS" "CHL" "FRA" "GHA" "GBR" "HUN" "ITA" "JAM" "JPN"
##  [685] "KEN" "MYS" "MAR" "NLD" "POL" "TTO" "USA" "DEU" "AUS" "GHA" "GBR" "HUN"
##  [697] "IND" "KEN" "MEX" "PHL" "POL" "ZWE" "CHE" "DEU" "VEN" "GBR" "HUN" "MDG"
##  [709] "ZMB" "COG" "VEN" "AUS" "BHS" "DOM" "JPN" "PER" "RUS" "THA" "UGA" "COL"
##  [721] "PRT" "SEN" "KOR" "CMR" "IRN" "IRQ" "ISR" "PHL" "ESP" "TWN" "MLI" "PAK"
##  [733] "VNM" "USA" "JAM" "USA" "USA" "USA" "USA" "CUB" "FRA" "USA" "FRA" "JAM"
##  [745] "USA" "CUB" "USA" "JAM" "CUB" "USA" "CAN" "FRA" "FRA" "MDG" "CUB" "CAN"
##  [757] "MDG" "USA" "CAN" "CIV" "CUB" "JPN" "CUB" NA    "MDG" "USA" "CIV" NA   
##  [769] NA    "CUB" "MDG" "FRA" "JPN" "POL" "DEU" NA    "JPN" "CAN" "GBR" "MYS"
##  [781] "USA" "FRA" "CHL" "CIV" NA    "MYS" "NGA" "SGP" "DEU" "ARG" "CUB" NA   
##  [793] "FRA" NA    "FRA" "GBR" "DEU" "ARG" "FRA" "GBR" "NGA" "SUR" "UGA" "POL"
##  [805] "RUS" "NGA" "SGP" "SUR" "DEU" "GHA" "POL" "RUS" "UGA" "DOM" "RUS" "CHL"
##  [817] "AUS" "GBR" "DEU" "RUS" "TTO" "POL" "TZA" "PHL" "GHA" "MEX" "SEN" "JAM"
##  [829] "KEN" "BHS" "KEN" "ITA" "VEN" "BHS" "ESP" "PRI" "MEX" "CHE" "MAR" "VEN"
##  [841] "TWN" "COL" "TWN" "BEL" "SDN" "NIC" "SLV" "RUS" "RUS" "USA" "TTO" "RUS"
##  [853] "RUS" "GRC" "USA" "DEU" "SEN" "JAM" "MDG" "SEN" "USA" "JAM" "USA" "JAM"
##  [865] NA    "RUS" "POL" "RUS" "TTO" "DEU" NA    "RUS" NA    "FRA" "GBR" "JAM"
##  [877] "POL" "DEU" "GBR" "NGA" "FRA" "POL" "SEN" "FIN" NA    "DEU" "GRC" "JAM"
##  [889] "CHE" "MDG" "POL" "JAM" "MDG" "RUS" "TTO" "USA" NA    "JAM" NA    "NOR"
##  [901] "BHS" "CIV" "TTO" "CAN" "TCD" "FRA" "CIV" "RUS" NA    "FIN" "GHA" "CIV"
##  [913] "GBR" "FRA" "GBR" "NOR" "TTO" "USA" "CIV" "NGA" "GBR" "CHE" "TWN" NA   
##  [925] "GBR" "CIV" "KEN" "AUT" "POL" "SUR" "POL" "BRA" NA    "FRA" "SUR" "TCD"
##  [937] "GHA" NA    NA    "FRA" "GHA" "BHS" "DEU" "CAN" "FIN" "NGA" "BFA" NA   
##  [949] "ARG" "PRI" "VEN" "LSO" "TTO" "KEN" "NZL" "BHS" "FIN" "PRI" "TZA" "MYS"
##  [961] "TWN" "DEU" "RUS" "CMR" "TCD" "ETH" "POL" NA    "BHS" "SGP" "UGA" "MNG"
##  [973] "KHM" "COG" "ISL" "LKA" "FIN" "IRN" "PHL" "LBR" "PRI" "PRY" "ZMB" "BOL"
##  [985] "KWT" "SAU" "MWI" "HTI" "TTO" "JAM" "RUS" "USA" "TTO" "USA" "USA" "PAN"
##  [997] "JAM" "USA" NA    "TTO" "BGR" NA    "RUS" "USA" NA    "JAM" "USA" "BGR"
## [1009] "PAN" "USA" NA    "PAN" "USA" "JAM" "RUS" "PAN" "TTO" "USA" "CIV" "BGR"
## [1021] "CIV" "TTO" "USA" "CAN" "CUB" NA    "RUS" "CAN" "POL" "TTO" "FRA" "CIV"
## [1033] "POL" "RUS" "BRA" "RUS" "POL" "BRA" "SUR" "DEU" "CAN" "CUB" "POL" "TTO"
## [1045] "POL" "SEN" "RUS" "BRA" "SUR" "CUB" "JAM" "POL" "SWE" "BMU" NA    "JAM"
## [1057] "SWE" "BHS" "THA" "ITA" "BMU" "DEU" "CUB" "DEU" "BEL" "POL" "BMU" "RUS"
## [1069] "THA" "TTO" "CUB" "SEN" "SEN" "FRA" "THA" "BMU" "LUX" "PRI" "FRA" "DEU"
## [1081] "ITA" "SEN" "BHS" "GRC" "HUN" "AUS" "BHS" "JPN" "BRB" "MYS" "BLZ" "HTI"
## [1093] "SAU" NA    "FJI" "DEU" NA    "KWT" "ISL" "IRN" "NIC" "FRA" "GBR" "BGR"
## [1105] "CUB" "CUB" "CUB" "GBR" "GUY" "RUS" "GBR" "ITA" "POL" NA    "TTO" "CMR"
## [1117] "FRA" "JAM" "RUS" NA    "BGR" "CUB" "CMR" "CUB" "GUY" "NGA" "RUS" "GBR"
## [1129] "POL" "JAM" "RUS" "TTO" NA    "GBR" "BGR" "CUB" "NGA" "CUB" "POL" "RUS"
## [1141] "GBR" "POL" "RUS" "TTO" "CUB" "GBR" "POL" "RUS" "CUB" NA    "GUY" "RUS"
## [1153] "TTO" "BRA" "FRA" "RUS" "POL" NA    "FRA" "BRA" "FRA" "NGA" "DOM" NA   
## [1165] "FRA" "COG" NA    "POL" "TTO" "JAM" "ITA" "DOM" "ITA" "NGA" "NGA" "COG"
## [1177] "CMR" "GBR" "POL" "GRC" "CUB" "BGR" "NGA" "SYR" "HUN" "HUN" "COG" "BRA"
## [1189] "GRC" "BRA" "NGA" "SEN" "BRA" "TZA" "SEN" "TTO" "TZA" "NLD" "ISL" "BEN"
## [1201] "LBN" "MOZ" "ZMB" "IND" "MLI" "TZA" "SLE" "SLE" "BWA" "GIN" "LSO" "SYC"
## [1213] "KWT" "SLE" "AGO" "ETH" "NPL" "LAO" "PER" "USA" "USA" "USA" "USA" "USA"
## [1225] "CAN" "JAM" "JAM" "USA" "CAN" "GBR" "USA" "JAM" "USA" "JAM" "GBR" "USA"
## [1237] "CAN" "GBR" "CAN" "USA" "CAN" "FRA" "PRI" "GBR" "ITA" "CAN" "ITA" "NGA"
## [1249] "IDN" "USA" "CAN" "GBR" "DEU" "CAN" "NGA" "ESP" "IDN" "JAM" "BRA" "GBR"
## [1261] "SEN" "BEL" "FRA" "GBR" "ITA" "TTO" "FRA" "PAN" "IDN" "DEU" "AUS" "CAN"
## [1273] "ESP" "THA" "BRA" "CHN" "FRA" "BRA" "PRI" "SEN" "DEU" "AUS" "BRA" "ITA"
## [1285] "FRA" "JPN" "TTO" "ITA" "JAM" "BHS" "USA" NA    "BHS" "CHN" "FRA" "AUS"
## [1297] "FRA" "GHA" "PRI" "AUS" "THA" "JAM" "PAN" "AUS" "BHS" "JAM" "BHS" "IDN"
## [1309] "COG" "GMB" "BRB" "BRA" NA    "DEU" "BRA" "DEU" "GBR" "ITA" "CIV" "KOR"
## [1321] "GUY" "JPN" "BMU" "LBR" "PRT" "GHA" "QAT" "GNQ" "CIV" "MOZ" "LBN" "GTM"
## [1333] "OMN" "PAK" "GMB" "GHA" NA    "ZMB" "BLZ" "CMR" "LIE" "ATG" NA    "UGA"
## [1345] "SYC" "VGB" "ARE" "SLE" "FJI" "MUS" "MWI" "SWZ" "BGD" "CRI" "SLV" "BWA"
## [1357] "SLB" "CAN" "USA" "GBR" "USA" "USA" "CAN" "USA" "BRA" "CAN" "GBR" "USA"
## [1369] "USA" "USA" "CAN" "USA" "CAN" "JAM" "GBR" "GHA" "JAM" "USA" "BRA" "CAN"
## [1381] "BRA" "JAM" "RUS" "HUN" "USA" "NGA" "GHA" "HUN" "BRA" "IDN" "NGA" "DOM"
## [1393] "ITA" "NGA" "AUT" "FRA" "RUS" "DOM" NA    NA    "ITA" "RUS" "BRA" "CAN"
## [1405] "FRA" "GHA" "USA" "ITA" "QAT" "FRA" "HUN" "IDN" "AUT" "IDN" "ITA" "FRA"
## [1417] "JAM" "QAT" "SEN" "GHA" "KEN" "ESP" "BRA" "JAM" "ESP" "NGA" "SEN" "JPN"
## [1429] "CHN" "DOM" "ITA" "TWN" "JAM" "JPN" "BEL" "ITA" "KEN" "BEL" "CHN" "FRA"
## [1441] "GBR" "KEN" "HUN" "RUS" "CHN" "MLI" "TWN" "HUN" "DEU" "CHN" "GBR" "HUN"
## [1453] "KOR" "FRA" "NGA" "KOR" "KEN" "DEU" "RUS" "TGO" "CMR" "NGA" "MLI" "ESP"
## [1465] "JPN" "NGA" "JAM" "SEN" "HUN" "LBR" "MEX" "BMU" "TWN" "BHS" "CHL" NA   
## [1477] "JPN" "BEN" "CHN" NA    "COG" "BRA" "ZWE" "BFA" "CHN" "GBR" "VGB" "BHR"
## [1489] "PRT" "HKG" "BEN" "SAU" "THA" "SLE" "BFA" "OMN" "PAK" "AGO" "BGD" "TON"
## [1501] "UGA" "PNG" "VUT" "LSO" "BRB" "DOM" "DZA" "VNM" "SMR" "ATG" "FJI" "GIN"
## [1513] "LIE" "HTI" "NGA" "LBN" "MDV" "GNQ" "SWZ" NA    "MCO" "LBR" "JAM" "GBR"
## [1525] "USA" "GBR" "NAM" "USA" "GBR" "USA" "CAN" "USA" "NGA" "NAM" "NAM" "USA"
## [1537] "CAN" "NGA" "USA" "JAM" "NGA" "USA" "NGA" "BRA" "CAN" "NGA" "USA" "NGA"
## [1549] "BRA" "NAM" NA    "CAN" "NGA" "GHA" "NGA" "BRA" "QAT" "JAM" NA    "FRA"
## [1561] "GHA" "QAT" "GBR" "FRA" "JAM" "NGA" "CAN" NA    "NGA" "SLE" "CMR" "GHA"
## [1573] "FRA" "QAT" NA    "GHA" "BRA" "NGA" "GBR" "JPN" "JPN" "CYP" "JPN" "CIV"
## [1585] "JPN" "BRA" "CAN" "CIV" "JPN" "GBR" "ROU" "SEN" "CHE" "CMR" "SLE" "GHA"
## [1597] "KEN" "JAM" "BEL" "FRA" "CAN" "FRA" "GHA" "ESP" "CYP" "GNQ" "CHE" "GHA"
## [1609] "BEL" "TGO" "CAN" "GMB" NA    "THA" "NER" "PAN" "HKG" "CAN" "TTO" "BRA"
## [1621] "CYM" "CAF" "BHR" "SMR" "BRB" "PAK" "UGA" "ZWE" "TON" "MLI" "LKA" "LSO"
## [1633] "COG" "HND" "BEN" "BGD" "HTI" "GRD" "GIN" "CRI" "SDN" "FJI" "SWZ" "MRT"
## [1645] "AGO" "PNG" "MDV" "VUT" "BLZ" "COK" "OMN" "LAO" "CAN" "NAM" "TTO" "NAM"
## [1657] "TTO" "NAM" "TTO" "USA" "CAN" "USA" "GBR" "NGA" "GBR" "NGA" "USA" "CAN"
## [1669] "TTO" "NGA" "USA" "USA" "JAM" "CAN" "BRB" "NGA" "USA" "GHA" "BRB" "JAM"
## [1681] "JPN" "USA" "USA" "CAN" "GHA" "JAM" "JPN" "BEL" "GHA" "CYP" "BEL" "CAN"
## [1693] "GHA" "SWE" "USA" "BRA" "GBR" "BRA" "CYP" "GHA" "GBR" "NGA" "GBR" "KNA"
## [1705] "CAN" "JPN" "CHN" "GBR" "UKR" "BEL" "GRC" "CYP" "NAM" "BRB" "DEU" "ITA"
## [1717] "CAN" "MLI" "NZL" "NGA" "RUS" "KNA" "ESP" "NZL" "SWE" "CYP" "BEL" "CHN"
## [1729] "UKR" "FRA" "ITA" "JAM" "MLI" "NGA" "UKR" "BRA" "FRA" "GRC" "NZL" "RUS"
## [1741] "SLE" "FRA" "NGA" "FJI" "LVA" "FRA" "ITA" "SAU" "BRB" "GRC" "ESP" "BRB"
## [1753] "CYP" "UKR" "BHS" "GRC" "JAM" "SWE" "SWE" "CHE" "TGO" "AUS" "KAZ" "ESP"
## [1765] "CIV" "MYS" "LKA" "AUS" "ESP" "ARG" "MUS" "CMR" "JPN" "LBR" "DOM" "BRA"
## [1777] "VCT" "LBR" "PRT" "KEN" "TWN" "TON" "UZB" "GMB" "KOR" "BOL" "SLV" "PNG"
## [1789] "IRL" "KWT" "GNB" "GAB" "KGZ" "BMU" "MLT" "KAZ" "PER" "MRT" "BGD" "BEN"
## [1801] "COM" "STP" "AZE" NA    "VNM" "GIN" "NER" "COK" "LBY" "GNQ" "AFG" "CIV"
## [1813] "USA" "TTO" "BRB" "TTO" "USA" "GBR" "USA" "USA" "TTO" "GBR" "AUS" "GAB"
## [1825] "GBR" "TTO" "GBR" "BRB" "GHA" "USA" "GHA" "KNA" "GBR" "KNA" "CAN" "KNA"
## [1837] "USA" "GBR" "GHA" "BRB" "GHA" "JAM" "CIV" "USA" "GHA" "JPN" "AUS" "MUS"
## [1849] "GAB" "GBR" "ITA" "POL" "ZAF" "USA" "BRA" "GBR" "GRC" "NGA" "JAM" "USA"
## [1861] "AUS" "BRA" "GHA" "NGA" "USA" "CYP" "NGA" "CUB" "FRA" "LBR" "GRC" "AUS"
## [1873] "CMR" "CUB" "JAM" "MUS" "NGA" "NGA" "ESP" "LBR" "POL" "FRA" "GBR" "POL"
## [1885] "UKR" "CAN" "JPN" "KNA" "ITA" "CIV" "AUT" "CAN" "JAM" "DEU" "POL" "ISR"
## [1897] "AUS" "AUT" "BRA" "GHA" "ZAF" "CMR" "CAN" "JAM" "JPN" "NGA" "CMR" "JAM"
## [1909] "BHS" "BRA" "CYP" "UKR" "HRV" "ITA" "AUS" "CMR" "ITA" "FIN" "NAM" "ESP"
## [1921] "GTM" "IDN" "SAU" "URY" "ARG" "TTO" "JPN" "BFA" "JPN" "MYS" "IRL" "BGR"
## [1933] "SLV" "HKG" "COM" "IDN" "RUS" NA    "GEO" "NGA" "SLE" "KAZ" "MLI" "VNM"
## [1945] "IDN" "ASM" "AZE" "TCD" "PLW" "TON" "GMB" "MLT" "ALB" "SUR" "BRN" "VUT"
## [1957] "SYC" "GUM" "COK" "NER" "CAN" "LAO" "MDG" "JAM" "USA" "PRT" "USA" "USA"
## [1969] "PRT" "USA" "JAM" "JAM" "USA" "PRT" "USA" "JAM" "KNA" "GHA" "KNA" "USA"
## [1981] "KNA" "JAM" "USA" "BRB" "PRT" "USA" "BRB" "GHA" "JAM" "KNA" "BRB" "GBR"
## [1993] "JAM" "NAM" "GBR" "CYM" "FRA" "GBR" "NGA" "SVN" "NAM" "FRA" "GHA" "USA"
## [2005] "GHA" "JPN" "JAM" "CAN" "GHA" "JAM" "AUS" "BRB" "GHA" "NGA" "TTO" "BRA"
## [2017] NA    "POL" "AUS" "CYM" "DEU" "JPN" NA    "BRA" "NGA" "SVN" "GMB" "FRA"
## [2029] "ITA" "JPN" "BRA" "CAN" "DEU" "GBR" "HUN" "JAM" "ITA" "JAM" "RUS" "BRA"
## [2041] "CAN" "FRA" "GRC" "CIV" "BFA" "JPN" "BRA" "GBR" "NGA" "POL" "GRC" "SAU"
## [2053] "JPN" "HUN" "CIV" "NGA" "GMB" "BMU" "CAN" "TTO" "KAZ" "BFA" "KAZ" "CHN"
## [2065] "BEN" "TTO" "NAM" "CYP" "PRY" "ATG" NA    "GHA" "MCO" "COM" "GIN" "FRA"
## [2077] "MLT" "HUN" "HKG" "SLE" "SGP" "GAB" "JOR" "SMR" "FSM" "STP" "ABW" "SLB"
## [2089] "BGD" "AZE" "NIC" "TON" "COK" "ASM" "LAO" "KHM" "KIR" "AFG" "MDV" "JAM"
## [2101] "JAM" "TTO" "JAM" "USA" "JAM" NA    "TTO" NA    "JAM" "USA" "JAM" "TTO"
## [2113] NA    "TTO" "JAM" "TTO" "JAM" "USA" "USA" "KNA" "TTO" "USA" "KNA" "USA"
## [2125] "JAM" "PRT" "USA" "GBR" "PRT" "BHS" "GBR" "BHS" "NOR" "JAM" "FRA" "JAM"
## [2137] "JPN" "KNA" "FRA" "GBR" "JAM" "FRA" "GBR" "NGA" "CAN" "TTO" "USA" "ATG"
## [2149] "JPN" "ATG" "GHA" "SVN" "TTO" "BRB" "JPN" "PRT" "RUS" "USA" "BRA" "FRA"
## [2161] "NGA" "BHS" "CUB" "BRA" "NGA" "BRA" "BRA" "GBR" "ITA" "CAN" "CUB" "ITA"
## [2173] "GHA" "NGA" "RUS" "ESP" "BRB" "COL" NA    "ESP" "USA" "CAN" "DEU" "CAN"
## [2185] "COL" "JPN" "NOR" "CHN" "JPN" "CHN" "GBR" "POL" "DEU" "IDN" "NGA" "POL"
## [2197] "SVN" "TTO" "HND" "ITA" "CAF" "CZE" "GMB" "OMN" "UKR" "AZE" "GNB" "BRA"
## [2209] "ECU" "SUR" "COM" "BFA" "HKG" "BGR" "MCO" "SGP" "VUT" "GAB" "TTO" "VCT"
## [2221] "SYC" "COG" "FSM" "BGD" "SLB" "MDV" "TCD" "TON" "MHL" "KIR" "PLW" "COK"
## [2233] "AFG" "TUV" "LAO" "GNQ" "ASM" "JAM" "JAM" "USA" "USA" "USA" "JAM" "JAM"
## [2245] "USA" "USA" "NLD" "JAM" "NLD" "USA" "USA" "TTO" "JAM" "GBR" "TTO" "JAM"
## [2257] "TTO" "GBR" "GBR" "CIV" "JPN" "BHS" "USA" "CAN" "JAM" "JPN" "FRA" "GBR"
## [2269] "ZMB" "ATG" "GBR" "CIV" "TTO" "TTO" "ATG" "CYM" "FRA" "ZMB" "GBR" "GMB"
## [2281] "CHN" "NLD" "GMB" "BHS" "EGY" "NGA" "KNA" "TTO" "POL" "BRA" "BHS" "KNA"
## [2293] "CHN" "NOR" "LTU" "JPN" "KNA" "GUY" "IRN" "PRI" "TTO" "ESP" "BRB" "NGA"
## [2305] "NGA" "EST" "OMN" "BFA" "CAF" "SUR" "COL" "MUS" "BOL" "GRD" "SGP" "GNB"
## [2317] "MDV" "IDN" "COG" "JAM" "JAM" "JAM" "USA" "CAN" "CAN" "JAM" "ZAF" "USA"
## [2329] "FRA" "CIV" "CIV" "ZAF" "GBR" "JAM" "USA" "CIV" "TUR" "CAN" "FRA" "JAM"
## [2341] "JPN" "USA" "FRA" "JAM" "CHN" "USA" "CHN" "JAM" "BHR" "KNA" "ATG" "BHR"
## [2353] "GBR" "JAM" "JPN" "USA" "ZAF" "TUR" "FRA" "GBR" "USA" "CHN" "IRN" "JPN"
## [2365] "GBR" "KNA" "FRA" "ATG" "JPN" "TTO" "CAN" "NLD" "OMN" "IRN" "JPN" "TTO"
## [2377] "CAN" "BRB" "LSO" "NGA" "SAU" "ZMB" "BHS" "QAT" "ZWE" "DEU" "GBR" "TTO"
## [2389] "LBR" "ZAF" "CYM" "DEU" "MAR" "BRA" "CHN" "NLD" "CIV" "NGA" "KOR" "HTI"
## [2401] "KNA" "LCA" "GHA" "IRN" "MDV" "SUR" "BHS" "KNA" "PLW" "BHS" "IDN" "MKD"
## [2413] "SGP" "BRN" "PSE"
mens_100m_ncodes <- mens_100m_nations %>%
  add_column('Country Code' = country_code)

mens_100m_ncodes
## # A tibble: 2,415 × 5
## # Groups:   Year, Time [1,280]
##     Year  Time Nation            n `Country Code`
##    <dbl> <dbl> <chr>         <int> <chr>         
##  1  1912  10.6 United States     1 USA           
##  2  1912  10.7 United States     3 USA           
##  3  1912  10.8 Great Britain     1 GBR           
##  4  1912  10.8 United States     1 USA           
##  5  1912  10.9 Germany           1 DEU           
##  6  1912  10.9 South Africa      1 ZAF           
##  7  1912  10.9 United States     2 USA           
##  8  1912  11   Australasia       1 <NA>          
##  9  1912  11   Canada            1 CAN           
## 10  1912  11   Great Britain     1 GBR           
## # … with 2,405 more rows
mens_100m_ncodes %>%
  group_by(Nation)%>%
  filter(is.na(`Country Code`))
## # A tibble: 73 × 5
## # Groups:   Nation [10]
##     Year  Time Nation             n `Country Code`
##    <dbl> <dbl> <chr>          <int> <chr>         
##  1  1912  11   Australasia        1 <NA>          
##  2  1924  11.3 Czechoslovakia     1 <NA>          
##  3  1924  11.6 Czechoslovakia     1 <NA>          
##  4  1928  11.3 Czechoslovakia     1 <NA>          
##  5  1932  11.1 Czechoslovakia     1 <NA>          
##  6  1932  11.2 Czechoslovakia     1 <NA>          
##  7  1936  11.5 Yugoslavia         1 <NA>          
##  8  1952  11.2 Czechoslovakia     1 <NA>          
##  9  1952  11.2 Czechoslovakia     1 <NA>          
## 10  1952  11.3 Czechoslovakia     1 <NA>          
## # … with 63 more rows
# load library
library(rworldmap)
# get map
worldmap <- getMap(resolution = "coarse")
# plot world map
plot(worldmap, col = "white", 
     fill = T, border = "darkgray",
     xlim = c(-180, 180), ylim = c(-90, 90),
     bg = "aliceblue",
     asp = 1, wrap=c(-180,180))

library(rnaturalearth)

# load data
world <- ne_countries(scale = "medium", returnclass = "sf")
# gene world map
ggplot(data = world) +
  geom_sf() +
  labs( x = "Longitude", y = "Latitude") +
  ggtitle("World map", subtitle = paste0("(", length(unique(world$admin)), " countries)"))

Nope! Too busy lol…

library(gridExtra)

grid.arrange(arrangeGrob(mens_100m_gsbplot, mens_100m_mmmplot, ncol=2, widths=c(2, 2)),
             mens_100m_box, nrow=2)

write.csv(mens_100m_gsb, "/Users/rochellerafn/RStudio Files/mens_100m_gsb.csv")
write.csv(mens_100m_mmm, "/Users/rochellerafn/RStudio Files/mens_100m_mmm.csv")

Exponential Regression in R - lm(log(y)~x)

model_mmm <- lm(log(mens_100m_mmmm$mmmTime)~mens_100m_mmmm$Year)

summary(model_mmm)
## 
## Call:
## lm(formula = log(mens_100m_mmmm$mmmTime) ~ mens_100m_mmmm$Year)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.06125 -0.03093  0.01134  0.01963  0.04562 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          4.057e+00  2.298e-02  176.55   <2e-16 ***
## mens_100m_mmmm$Year -8.671e-04  1.163e-05  -74.53   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.0282 on 8059 degrees of freedom
## Multiple R-squared:  0.408,  Adjusted R-squared:  0.4079 
## F-statistic:  5554 on 1 and 8059 DF,  p-value: < 2.2e-16
model_gsb <- lm(log(mens_100m_gsb$Time)~mens_100m_gsb$Year)

summary(model_gsb)
## 
## Call:
## lm(formula = log(mens_100m_gsb$Time) ~ mens_100m_gsb$Year)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.035003 -0.009850 -0.002573  0.011075  0.038065 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         4.384e+00  1.249e-01   35.09   <2e-16 ***
## mens_100m_gsb$Year -1.045e-03  6.348e-05  -16.46   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.01652 on 70 degrees of freedom
## Multiple R-squared:  0.7947, Adjusted R-squared:  0.7917 
## F-statistic: 270.9 on 1 and 70 DF,  p-value: < 2.2e-16