Inhoud

  1. Inleiding
  2. Dataset
  3. Datavisualisatie
    1. Interessante rikishi
      1. Aantal worstelaren per toernooi
      2. Meest gewonnen wedstrijden
      3. Langste en korste rikishi
    2. Sumo over de jaren heen
      1. Lengtes en gewichten van rikishi over de jaren heen
      2. Leeftijd van rikishi over de jaren heen
  4. Conclusie
  5. Vervolg
  6. Bronnen
  7. Appendix
    1. Leeftijd
    2. Gewichten

1 Inleiding

Sumo, de nationale sport van Japan. De sport waar twee mensen het uitvechten in een ring. De eerste die de andere uit de ring of op de vloer gooit wint. In het jaar 712 werd er voor het eerst verwezen naar sumo. Het is dus een millennia oude sport. Het is ook verbonden met veel rituelen, zoals de ceremonie voor elk toernooi en zelfs de korte ceremoniën voor elk gevecht.[1]

Veel beoefenaars van verschillend sporten zijn over de jaren veranderd. De spelers van de NBA zijn over de jaren langer en zwaarder geworden.[2] Sprinters zijn ook sneller geworden over de jaren heen.[3]

We wil kijken of de eeuwen oude sport van sumo ook is verandert over de jaren. Dit gaan we doen door naar een dataset te kijken waarin de gewichten en lengtes van rikishi(worstelaren) voor elk toernooi beschreven staan. Deze dataset bevat alleen de lengtes en gewichten en niet bijvoorbeeld de snelheid van de rikishi. Het is dus gelimiteerd qua informatie. Deze dataset gaat terug tot het begin van jaar 1983, dus we kunnen alleen de rikishi van de afgelopen ~40 jaar observeren.

Onze verwachtingen zijn dat terwijl er verschil is, dat het verwaarloosbaar is. Sumo is een traditionele sport. Wij verwachten dat trainers en recruiters meer aan rituelen en buikgevoel houden in plaats van echte sport science om de rikishi te recruiten. Professioneel Sumo wordt ook alleen beoefend in Japan[1]. Hierdoor zal er niet veel variëteit komen vanuit het buitenland. Rikishi dragen ook niet veel uitrusting. Terwijl een sprinter nieuwere en betere schoenen zou kunnen dragen, zal dit niet het geval zijn in sumo.

2 Dataset

De dataset die we gaan gebruiken komt van data.world en is geüpload door Mikhail Zhilkin. De dataset is te vinden op https://data.world/cervus/sumo-japan . Deze dataset bevat de gewichten en lengtes van verschillende worstelaren voor elk toernooi. De dataset gaat van 1983 tot 2020.

Hij heeft de website http://sumodb.sumogames.de/ gebruikt om de dataset te maken. Hier zijn toernooien van nu tot de 1800 gearchiveerd. Het is jammer dat deze dataset maar terug gaat tot toernooien van 1983.

Om de data set op te halen moeten we eerst een aantal packages inladen. Hierna gaan we de api call maken om de dataset op te halen. Om deze api call te maken, moet er naar de url van de dataset een GET request worden gestuurd. In deze request moet ook de api token worden meegeven in de header.[4] Hierna wordt er met behulp van de httr library de body uit het antwoord gehaald.[5]

library(dplyr) #Om verschillende dingen te bewerken.
library(httr) #Om de dataset op te halen via een api call
library(readr) #Om de content te lezen van de opgehaalde dataset. 
library(stringr) #Om strings mee te bewerken
library(knitr) #Voor tabellen
library(kableExtra) #Voor tabellen
library(ggplot2) #plots
library(lubridate) #datums

#De api call
#Banzuke staat voor rankschikking van profesionele worstelaren. 
banzuke <- GET("https://api.data.world/v0/file_download/cervus/sumo-japan/banzuke.csv",
         add_headers(Authorization = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJwcm9kLXVzZXItY2xpZW50OmRpY2t2YW5kaWprIiwiaXNzIjoiYWdlbnQ6ZGlja3ZhbmRpams6OmU5NDg5YTY1LTE5ZTktNDM0Ni1iZjNjLTRmMDM2OWQzZjU5NyIsImlhdCI6MTU4NDQ1MzczOCwicm9sZSI6WyJ1c2VyX2FwaV9yZWFkIiwidXNlcl9hcGlfd3JpdGUiXSwiZ2VuZXJhbC1wdXJwb3NlIjp0cnVlLCJzYW1sIjp7fX0.-zYIIwBzu7Rvu6RLhJ6KQwWMxeW3QF4-GhY_qi4NbKVIcQ3a6L_4awlyv57PqN_dU-VXiFlc0SzwJBQkKaAnFA")) %>% 
  content() %>% 
  as.data.frame()

Laten we als volgt kijken naar de structuur van de dataset:

#laat de structuur zien
str(banzuke, give.attr = F)
## 'data.frame':    164410 obs. of  12 variables:
##  $ basho     : num  1983 1983 1983 1983 1983 ...
##  $ id        : num  1354 4080 4095 4104 4112 ...
##  $ rank      : chr  "Y1e" "Y1w" "Y2eHD" "O1e" ...
##  $ rikishi   : chr  "Chiyonofuji" "Kitanoumi" "Wakanohana" "Takanosato" ...
##  $ heya      : chr  "Kokonoe" "Mihogaseki" "Futagoyama" "Futagoyama" ...
##  $ shusshin  : chr  "Hokkaido" "Hokkaido" "Aomori" "Aomori" ...
##  $ birth_date: Date, format: "1955-06-01" "1953-05-16" ...
##  $ height    : num  182 179 186 181 183 ...
##  $ weight    : num  116 165 133 144 163 121 138 181 124 156 ...
##  $ prev      : chr  "Y1e" "Y2eHD" "Y1w" "O1e" ...
##  $ prev_w    : num  14 9 0 10 10 12 8 9 9 11 ...
##  $ prev_l    : num  1 3 0 5 5 3 7 6 6 4 ...

De basho kolom is het toernooi. De id is de worstelaar id. De rank is de ranking van de rikishi voor dat toernooi. De rikishi kolom beschrijft de naam. De heya is de stal waar de sumo worstelaren trainen en leven. De shusshin is de geboorteplaats. Gewichten en lengtes zijn waarden voordat de rikishi aan het toernooi meedoet.

Hierna moeten we kijken naar de data kwaliteit. De basho is wel in een verkeerd formaat. Dit moet een datum zijn. laten we er van uit gaan dat alle toernooien op de eerste dag van de maand plaatsvonden.

#Fix eerst de basho fout. 
banzuke$basho <- as.Date(paste0(banzuke$basho, ".01"), format = "%Y.%m.%d")

#laat het aantal NAs per kolom zien.
colSums(is.na(banzuke))
##      basho         id       rank    rikishi       heya   shusshin birth_date 
##          0          0          0          0          0          0        663 
##     height     weight       prev     prev_w     prev_l 
##       5174       5174         75         75         75

Hier zien we dat er van verschillende kolommen data missen. Lengtes en geboortedatums veranderen niet. Hier kunnen we een waarde van een ander toernooien invullen. De lengtes zijn niet elk toernooi hetzelfde dus hier zullen we het gemiddelde van alle toernooien invullen.

#Fix de lenge NA's
#groepeer het eerst
#Vind de gemiddelde lengte en vul deze in de lege spot
banzuke <- banzuke %>% 
  group_by(id) %>% 
  mutate(height = ifelse (is.na(height),  
                          ifelse(is.nan(mean(height, na.rm = T)), NA, mean(height, na.rm = T)),
                          height)) %>% 
  ungroup()

colSums(is.na(banzuke))
##      basho         id       rank    rikishi       heya   shusshin birth_date 
##          0          0          0          0          0          0        663 
##     height     weight       prev     prev_w     prev_l 
##        698       5174         75         75         75

We zien dat we nu een stuk minder NA’s hebben in de lengte. We kunnen dit ook proberen met geboortedatum maar dat levert geen verschil op en breekt de datum kolom. De gewichten zouden we technisch gezien kunnen interpoleren maar dat is niet mogelijk in deze dataset. De gewichten NA’s komen allemaal achter elkaar. (Zie Appendix voor geboortedatum en gewichten).

De prevs zijn zo weinig dat we er nu niet aan gaan zitten. Misschien een andere keer.

Sumo toernooien zijn opgedeeld in verschillende divisies. De Makuuchi en Juryo divisies worden als professioneel beschouwd. Aan de Makkuchi mag iedere rikishi met een Maegashira of hogere rank meedoen. Dit zijn ongeveer 42 worstelaren. De Juryo is een divisie lager en dat zijn ongeveer 20 worstelaren. De eerste letter in de rank kolom geeft de rank aan. We moeten dus aan de eerste letters uit de rank halen en deze een ordering aangeven. Ik ga ook meteen een subset maken van de professionele worstelaren.

#Ordering van de ranken
ranks <- c("Jk", "Jd", "Sd", "Ms", "J", "M", "K", "S", "O", "Y")

#Pak de eerste letter en plaats het in een nieuwe kolom
banzuke <- banzuke %>% 
  mutate(rank_name =  factor(str_extract(rank, "^\\D+"), ordered = T, levels = ranks)) 

#Vervang de letter met de werkelijke naam
banzuke$rank_name =  recode(banzuke$rank_name, Y = "Yokozuna", 
                              O = "Ozeki",
                              S = "Sekiwake",
                              K = "Komusubi",
                              M = "Maegashira",
                              J = "Juryo",
                              Ms = "Makushita",
                              Sd = "Sandanme",
                              Jd = "Jonidan",
                              Jk = "Jonokuchi")

#Maak een subset van de profs
juryo_makuuchi <- banzuke %>% 
  filter(rank_name >= "Juryo")

#Check of de ordering juist is
max(banzuke$rank_name)
## [1] Yokozuna
## 10 Levels: Jonokuchi < Jonidan < Sandanme < Makushita < ... < Yokozuna

Iedereen boven de Juryo rank wordt dus als professioneel beschouwd.

3 Datavisualisatie

In dit deel gaan we eerst een kijkje nemen naar wat interessante rikishi. Dit zijn gewoon wat leuke feitjes die we uit de data kunnen halen. Als je dit wilt overslaan ga dan naar Sumo over de jaren heen.

Daarna gaan we kijken naar de lengtes en gewichten over de jaren heen.

3.1 Interessante rikishi

3.1.1 Meest gewonnen wedstrijden

Laten we eerst eens kijken wie de meest aantal gewonnen wedstrijden heeft. Je moet wel rekening houden met het feit dat deze dataset terug gaat tot toernooien van het jaar 1983. We kunnen dus alleen kijken wie het meest aantal wedstrijden heeft gewonnen in de afgelopen ~40 jaar.

#Wie heeft het meest aantal gewonnen wedstijden
banzuke %>% 
  group_by(id) %>% #Groepeer bij worstelaar
  summarise(rikishi = first(rikishi),  #Summarise
            total_wins = sum(prev_w, na.rm = T),
            height = max(height, na.rm = T), 
            weight = max(weight, na.rm = T), 
            rank = max(rank_name)) %>% 
  arrange(desc(total_wins)) %>% #Sorteer
  head(5) %>% #Pak de eerste 5
  ungroup() %>% 
  mutate(pic = str_replace("<img src ='http://sumodb.sumogames.de/pics/0000.jpg' height = '200px'>", "0000", as.character(id))) %>% #Zorg ervoor dat er een plaatje komt
  select(-id) %>% #Pak alle kolommen behalve id
  kable( escape = F, 
         align = "l", 
         col.names = c("Rikishi", "Totaal gewonnen", "Lengte (cm)", "Hoogste gewicht (kg)", "Hoogste rank", "Plaatje"), 
         caption = "Rikishi's met meest gewonnen wedstrijden") %>% #Maak een tabel
  kable_styling(bootstrap_options = c("striped", "hover")) %>% #Styling van tabel
  scroll_box(height = "500px", width = "100%")
Rikishi’s met meest gewonnen wedstrijden
Rikishi Totaal gewonnen Lengte (cm) Hoogste gewicht (kg) Hoogste rank Plaatje
Hakuho 1146 193.0 154.0 Yokozuna
Koga 1044 185.0 175.0 Ozeki
Kyokutenho 924 192.0 160.0 Sekiwake
Kogawa 917 185.5 163.3 Sekiwake
Suginomori 907 186.0 152.0 Sekiwake


We zien dat Hakuho met 1146 gewonnen wedstrijden bovenaan staat.

3.1.2 Langste en kortste rikishi

Wat ons ook wel interessant lijkt om te bekijken, is wie de langste en wie de kortste professionele worstelaar is. Sumo worstelaren worden pas als professioneel beschouwd wanneer ze hoger dan de Juryo rank zijn. Laten we daar dus op filteren. Hou er weer rekening mee dat deze dataset terug gaat tot toernooien van 1983.

#Kijk wie de langste is
banzuke %>% 
  group_by(id) %>% 
  filter(any(rank_name >= "Juryo")) %>% #Filter eerst op hoger dan Juryo
  summarise(rikishi = first(rikishi), #Summarise dan de waarde
            height = max(height, na.rm = T), 
            weight = max(weight, na.rm = T), 
            rank = max(rank_name)) %>% 
  arrange(desc(height)) %>% #sorteer
  head(5) %>% #pak de top 5
  ungroup() %>% 
  mutate(pic = str_replace("<img src ='http://sumodb.sumogames.de/pics/0000.jpg' height = '200px'>", "0000", as.character(id))) %>% #maak plaatjes
  select(-id) %>% #alles behalve id
  kable( escape = F, 
         align = "l", 
         col.names = c("Rikishi", "Lengte (cm)", "Hoogste gewicht (kg)","Hoogste rank", "Plaatje"), 
         caption = "Langste professionele rikishi's") %>% #maak een tabel
  kable_styling(bootstrap_options = c("striped", "hover")) %>% 
  scroll_box(height = "500px", width = "100%")
Langste professionele rikishi’s
Rikishi Lengte (cm) Hoogste gewicht (kg) Hoogste rank Plaatje
Akebono 204.0 232.0 Yokozuna
Kotooshu 204.0 157.0 Ozeki
Kitao 199.0 151.0 Yokozuna
Baruto 198.5 193.0 Ozeki
Ogura 198.0 175.5 Maegashira
#Doe hetzelfde maar dan voor de korste
banzuke %>% 
  group_by(id) %>% 
  filter(any(rank_name >= "Juryo")) %>% 
  summarise(rikishi = first(rikishi), 
            height = max(height, na.rm = T), 
            weight = max(weight, na.rm = T),  
            rank = max(rank_name)) %>% 
  arrange(height) %>% 
  head(5) %>%
  ungroup() %>% 
  mutate(pic = str_replace("<img src ='http://sumodb.sumogames.de/pics/0000.jpg' height = '200px'>", "0000", as.character(id))) %>% 
  select(-id) %>% 
  kable( escape = F, 
         align = "l", 
         col.names = c("Rikishi", "Lengte (cm)", "Hoogste gewicht (kg)","Hoogste rank", "Plaatje"), 
         caption = "Kortste professionele rikishi's") %>% 
  kable_styling(bootstrap_options = c("striped", "hover")) %>% 
  scroll_box(height = "500px", width = "100%")
Kortste professionele rikishi’s
Rikishi Lengte (cm) Hoogste gewicht (kg) Hoogste rank Plaatje
Isobe 166.5 134.4 Maegashira
Terutsuyoshi 169.0 112.0 Maegashira
Enho 169.0 95.0 Maegashira
Kajiwara 171.0 149.4 Sekiwake
Tochitsurugi 171.0 117.0 Maegashira


We zien dus dat Akebono de langste en dat Isobe de kortste professionele worstelaren zijn.

3.2 Sumo over de jaren heen

Nu gaan we kijken naar de lengtes en gewichten over de jaren heen van alle sumo worstelaren(Dus professionele worstelaren zitten ook in deze set). We gaan ook apart de professionele worstelaren bekijken. We gaan eerst kijken naar het aantal worstelaren per toernooi. Daarna gaan we de lengtes en gewichten over de jaren heen bekijken.

3.2.1 Aantal worstelaren per toernooi

We kijken eerst naar het aantal worstelaren elk jaar. We gaan twee lijnen tekenen. Één voor de professionele en één voor alle worstelaren. In alle worstelaren zitten ook de professionele.

#Aantal totaal worstelaren per jaar
aantal_per_jaar <- banzuke %>% 
  group_by(basho) %>% 
  summarise(n = n())

#Aantal prof worstelaren per jaar
aantal_per_jaar_pro <- juryo_makuuchi %>% 
  group_by(basho) %>% 
  summarise(n = n())

ggplot(aantal_per_jaar, aes(x = basho, y = n, color = "Alle worstelaren")) +
  geom_line() +
  geom_line(data = aantal_per_jaar_pro, aes(x = basho, y = n, color = "Professionele worstelaren")) +
  scale_color_manual(values=c("black", "gold")) +
  labs(title = "Aantal worstelaren over de jaren heen", y = "Aantal", x = "Jaar") 


Hier zien we dat het totaal aantal worstelaren over de jaren heen daalt. De professionele worstelaren (oftewel de worstelaren in de Makuuchi en Juryo divisies) blijven even. Dit komt omdat er altijd een vast aantal worstelaren in de top twee divisies zitten. Er zitten gewoonlijk 42 in de Makuuchi en 20 in de Juryo.

3.2.2 Lengtes en gewichten van rikishi over de jaren heen

Nu gaan we een kijkje nemen naar de lengtes en gewichten. We gaan twee lijnen tekenen. Één voor de professionele en één voor alle worstelaren. In alle worstelaren zitten ook de professionele.

#Lengtes alle
gemPerBashoAll <- banzuke %>% 
  group_by(basho) %>% 
  summarise(gem_l = mean(height, na.rm = T), gem_w = mean(weight, na.rm = T)) %>% 
  ungroup()

#Lengtes profs
gemPerBashoPro <- juryo_makuuchi %>% 
  group_by(basho) %>% 
  summarise(gem_l = mean(height, na.rm = T), gem_w = mean(weight, na.rm = T)) %>% 
  ungroup()

ggplot(gemPerBashoAll, aes(x = basho, y = gem_l, color = "Alle worstelaren")) +
  geom_line() +
  geom_line(data = gemPerBashoPro, aes(x = basho, y = gem_l, color = "Professionele worstelaren")) +
  scale_color_manual(values=c("black", "gold")) +
  labs(title = "Gemiddelde lengte over de jaren van Sumo worstelaren", y = "Gemiddelde lengte (cm)", x = "Jaar") 

ggplot(gemPerBashoAll, aes(x = basho, y = gem_w, color = "Alle worstelaren")) +
  geom_line() +
  geom_line(data = gemPerBashoPro, aes(x = basho, y = gem_w, color = "Professionele worstelaren")) +
  scale_color_manual(values=c("black", "gold")) +
  labs(title = "Gemiddeld gewicht over de jaren van Sumo worstelaren", y = "Gemiddeld gewicht (kg)", x = "Jaar") 


Dit gaat tegen onze verwachtingen in. We verwachte dat het ongeveer hetzelfde zou blijven maar dat is niet zo.

Qua lengte zijn professionele sumo worstelaren hetzelfde gebleven. Je ziet wel dat over de jaren heen de gemiddelde sumo iets korter is geworden. Er is ongeveer 3 cm verschil tussen 1990 en 2020. Je ziet hier ook dat professionele sumo’s langer zijn dan de gemiddelde sumo’s. Er is ongeveer een 4 cm verschil.

Als we naar de gewichten kijken zien we wel duidelijk een stijging. Zowel de professionele als de gemiddelde worstelaar is zwaarder geworden. De gemiddelde worstelaar is nu 15kg zwaarder dan de 1983 worstelaar. De gemiddelde professionele worstelaar is 10kg zwaarder. Je ziet hier ook weer terug dat de professionele worstelaars waarden weer hoger liggen. Het is wel logisch dat de langere worstelaren ook zwaarder zijn. Misschien heeft dit ook te maken met leeftijd? Als een worstelaar zwaarder wordt over zijn carrière en als de professionele worstelaars ouder zijn dan de gemiddelde worstelaar, kan dit ook een invloed hebben. Laten wie hier ook naar kijken.

3.2.3 Leeftijd van rikishi over de jaren heen

Laten we dus kijken naar de gemiddelde leeftijd.

Het is ook leuk om te kijken of de gemiddelde rikishi(worstelaar) zwaarder wordt over zijn carrière. We willen alleen rikishi’s hebben die na het eerst toernooi in de dataset zijn begonnen. We weten niet wanneer iemand is begonnen als deze voor het eerste toernooi in de dataset is begonnen. We kunnen dan ook niet achterhalen welk jaar van zijn carrière dit persoon zit. We kunnen per jaar kijken wat het verschil is tussen het gewicht van elke rikishi. Hierna nemen we het gemiddelde.

Voor de leeftijd tekenen we weer twee lijnen. Één voor alle worstelaren en één voor alleen de professionele. In alle worstelaren zitten ook de professionele. Voor het gewichtsverschil over de jaren kijken we alleen naar alle worstelaren.

#Gemiddelde leeftijd alle
leeftijd_per_basho <- banzuke %>% 
  mutate(leeftijd = time_length(difftime(as.Date(basho), as.Date(birth_date)), "years")) %>% 
  group_by(basho) %>% 
  summarise(gem_l = mean(leeftijd, na.rm = T)) %>% 
  ungroup()

#Gemiddelde leeftijd profs
leeftijd_per_basho_pro <- juryo_makuuchi %>% 
  mutate(leeftijd = time_length(difftime(as.Date(basho), as.Date(birth_date)), "years")) %>% 
  group_by(basho) %>% 
  summarise(gem_l = mean(leeftijd, na.rm = T)) %>% 
  ungroup()

ggplot(leeftijd_per_basho, aes(x = basho, y = gem_l, color = "Alle worstelaren")) +
  geom_line() +
  geom_line(data = leeftijd_per_basho_pro, aes(x = basho, y = gem_l, color = "Professionele worstelaren")) +
  scale_color_manual(values=c("black", "gold")) +
  labs(title = "Gemiddelde leeftijd over de jaren van Sumo worstelaren", y = "Gemiddelde leeftijd (jaar)", x = "Datum (Jaar)")

#nu kijken naar het gewicht verschil.
gewverschil <- banzuke %>% 
  group_by(id) %>% 
  filter(!any(basho == as.numeric(as.Date("1983-01-01")))) %>% #filter alle worstelaren die in 1983-01-01 hebben geworsteld
  mutate(carrierejaar = round(time_length(difftime(as.Date(basho), as.Date(first(basho))), "years"), 1)) %>% #bereken carriere jaar 
  filter(carrierejaar %% 1 == 0) %>% #we gaan per jaar kijken dus filter alles er tussen uit
  arrange(id, basho) %>% 
  mutate(gewichtverschil = weight - lag(weight)) %>% #Bereken gewichtsverschil ten opzicht van vorig jaar
  ungroup() %>% 
  group_by(carrierejaar) %>% 
  summarise(gem = mean(gewichtverschil, na.rm = T), n = n())

ggplot(gewverschil, aes(x = carrierejaar, y = gem)) + 
  geom_line() +
  geom_line(y = 0, color = "red") + 
  labs(title = "Gemiddeld gewichtsverschil van sumo worstelaren ten opzichte van hun\nvorige jaar verdeeld over hun carrière jaren", 
       y = "Gemiddeld gewicht verschil ten opzichte van vorige jaar(kg)", 
       x = "Carriere jaar (jaar)")

Sample size per carrière jaar

kable(select(gewverschil, carrierejaar, n), align = "l", caption = "Sample size per carrierejaar") %>% 
  kable_styling(bootstrap_options = c("striped", "hover")) %>% 
  scroll_box(height = "200px")
Sample size per carrierejaar
carrierejaar n
0 4334
1 3153
2 2680
3 2338
4 2021
5 1767
6 1552
7 1354
8 1190
9 1018
10 865
11 713
12 586
13 468
14 373
15 276
16 214
17 152
18 115
19 77
20 54
21 46
22 38
23 30
24 19
25 15
26 9
27 4
28 3
29 2
30 2
31 1
32 1
33 1


We zien dat de rikishi die in de professionele divisies zitten wat ouder zijn. Dit is ook wel logisch want je moet de rangen beklimmen wil je in de top divisies vechten. We zien ook dat de gemiddelde rikishi ouder wordt over de jaren heen. De professionele sumo worstelaren blijven gemiddeld wel dezelfde leeftijd.

Uit de tweede grafiek zien we wel dat rikishi aankomen aan het begin van hun carrière. Na hun 10e jaar beginnen ze met afvallen. Je moet wel opletten dat de sample size met ieder jaar omlaag gaat zoals te zien in de tabel hierboven. De data van latere jaren is dus minder nauwkeurig.

4 Conclusie

De hypothese was dat de sport over het algemeen hetzelfde zou blijven. Dit dachten we omdat sumo een hele traditionele sport is.

Toch blijken er een aantal veranderingen in de sport plaats te vinden.

Het aantal worstelaren ging iets omlaag over de jaren heen. De gemiddelde rikishi is ook iets korter geworden. Wat we ook zagen is dat worstelaren nu een stuk zwaarder zijn dan in 1983. Ook zien we dat de gemiddelde rikishi iets ouder is dan vorige jaren.

We kunnen ook een duidelijk verschil zien tussen de gemiddelde worstelaar en de professionele worstelaren. Professionele rikishi zijn over het algemeen langer en zwaarder. Ook zijn ze ouder dan de gemiddelde rikishi.

Omdat de professionele rikishi langer zijn, kan dat de reden zijn dat ze ook zwaarder zijn. We zien ook duidelijk dat worstelaren zwaarder worden over hun carrière. Omdat de professionele worstelaren gemiddeld ouder zijn kan dit ook een invloed hebben op hun gewicht. Hierdoor kunnen de professionele rikishi ook zwaarder zijn.

5 Vervolg

Als vervolg onderzoek kunnen we kijken naar een grotere dataset zodat we beter kunnen zien hoe de veranderingen verder terug in de tijd eruit zien.

Ook kan er nog een analyse gedaan worden waar de rikishi vandaan komen. Dit is hier niet gedaan wegens tijd tekort.

6 Bronnen

[1] Wikipedia contributors. (2020, 18 maart). Sumo. Geraadpleegd van https://en.wikipedia.org/wiki/Sumo
[2] Curcic, D. (2019, 14 mei). 67 Years of Height Evolution in the NBA - In-depth Research. Geraadpleegd van https://runrepeat.com/height-evolution-in-the-nba
[3] Grothjan, E. (2016, 15 augustus). Usain Bolt and the Fastest Men in the World Since 1896 – on the Same Track. Geraadpleegd van https://www.nytimes.com/interactive/2016/08/15/sports/olympics/usain-bolt-and-120-years-of-sprinting-history.html
[4] https://apidocs.data.world/toolkit/api/api-endpoints/files/downloadfile
[5] https://cran.r-project.org/web/packages/httr/vignettes/quickstart.html
[6] https://www.youtube.com/watch?v=dQw4w9WgXcQ

7 Appendix

Hier staan stukjes code die niet in het bovenste stuk zijn gebruikt.

7.1 Leeftijd

Hier zie je dat het aantal na’s nog hetzelfde is na het vervangen van een andere toernooi. Dit stukje code verpest ook de datums kolom en daarom is het niet in het stuk hierboven gedaan.

banzuke %>% 
  group_by(id) %>% 
  mutate(bd = ifelse (is.na(birth_date), min(birth_date, na.rm = T), birth_date)) %>% 
  is.na() %>% 
  colSums()
##      basho         id       rank    rikishi       heya   shusshin birth_date 
##          0          0          0          0          0          0        663 
##     height     weight       prev     prev_w     prev_l  rank_name         bd 
##        698       5174         75         75         75          0          0

7.2 Gewichten

Hieronder wordt er gekeken naar het verschil van toernooien tussen twee NA’s. Als lag op 1 staat betekent dat er twee NA’s na elkaar komen. We zien uit deze data dat alle NA’s van gewichten na elkaar komen. Hierom is het niet mogelijk om gewichten te interpoleren.

#In het onderste stukje gaan we kijken of alle NA van een worstelaar naar elkaar komen. 

banzuke %>% 
  group_by(id) %>%  #Groepeer eerst bij id
  filter(any(is.na(weight))) %>% #Subset alle rikishi met ooit een NA in zijn gewicht
  arrange(id, basho) %>%  #Sorteer daarna op id van rikishi en dan toernooi. Hierdoor krijg je van elke riskishi een tijdlijn van hun gewicht
  mutate(positionInGroup = 1:n()) %>% #geef elke kolom een ophogend nummer 
  filter(is.na(weight)) %>% #Haal alle kolommen zonder Na weg
  mutate(lag = positionInGroup - lag(positionInGroup)) %>% 
  ungroup() %>% 
  count(lag)
## # A tibble: 2 x 2
##     lag     n
##   <int> <int>
## 1     1  3954
## 2    NA  1220