In this project, we import chess tournament results from a .txt file, organize the data into a data frame, and then analyze the results.
In this code block we load the necessary libraries, import the file from Molly’s github repository, and get the data into a data frame. However, there is only one column in the data frame, with all the information from each row stored as a string in that column.
library(readr)
library(stringr)
library(tidyr)
library(knitr)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
chess_url <- "https://raw.githubusercontent.com/mollysiebecker/DATA-607/f333e0b63eb8418b6aa696a81a637215b4a758e0/Chess%20Tournament%20Results"
chess_results_raw <- read_lines(file = "https://raw.githubusercontent.com/mollysiebecker/DATA-607/f333e0b63eb8418b6aa696a81a637215b4a758e0/Chess%20Tournament%20Results")
chess_df_raw <- data.frame(chess_results_raw)
kable(chess_df_raw, format = "pipe", caption = "Results Data Frame")
chess_results_raw |
---|
—————————————————————————————– |
Pair | Player Name |Total|Round|Round|Round|Round|Round|Round|Round| |
Num | USCF ID / Rtg (Pre->Post) | Pts | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
—————————————————————————————– |
1 | GARY HUA |6.0 |W 39|W 21|W 18|W 14|W 7|D 12|D 4| |
ON | 15445895 / R: 1794 ->1817 |N:2 |W |B |W |B |W |B |W | |
—————————————————————————————– |
2 | DAKSHESH DARURI |6.0 |W 63|W 58|L 4|W 17|W 16|W 20|W 7| |
MI | 14598900 / R: 1553 ->1663 |N:2 |B |W |B |W |B |W |B | |
—————————————————————————————– |
3 | ADITYA BAJAJ |6.0 |L 8|W 61|W 25|W 21|W 11|W 13|W 12| |
MI | 14959604 / R: 1384 ->1640 |N:2 |W |B |W |B |W |B |W | |
—————————————————————————————– |
4 | PATRICK H SCHILLING |5.5 |W 23|D 28|W 2|W 26|D 5|W 19|D 1| |
MI | 12616049 / R: 1716 ->1744 |N:2 |W |B |W |B |W |B |B | |
—————————————————————————————– |
5 | HANSHI ZUO |5.5 |W 45|W 37|D 12|D 13|D 4|W 14|W 17| |
MI | 14601533 / R: 1655 ->1690 |N:2 |B |W |B |W |B |W |B | |
—————————————————————————————– |
6 | HANSEN SONG |5.0 |W 34|D 29|L 11|W 35|D 10|W 27|W 21| |
OH | 15055204 / R: 1686 ->1687 |N:3 |W |B |W |B |B |W |B | |
—————————————————————————————– |
7 | GARY DEE SWATHELL |5.0 |W 57|W 46|W 13|W 11|L 1|W 9|L 2| |
MI | 11146376 / R: 1649 ->1673 |N:3 |W |B |W |B |B |W |W | |
—————————————————————————————– |
8 | EZEKIEL HOUGHTON |5.0 |W 3|W 32|L 14|L 9|W 47|W 28|W 19| |
MI | 15142253 / R: 1641P17->1657P24 |N:3 |B |W |B |W |B |W |W | |
—————————————————————————————– |
9 | STEFANO LEE |5.0 |W 25|L 18|W 59|W 8|W 26|L 7|W 20| |
ON | 14954524 / R: 1411 ->1564 |N:2 |W |B |W |B |W |B |B | |
—————————————————————————————– |
10 | ANVIT RAO |5.0 |D 16|L 19|W 55|W 31|D 6|W 25|W 18| |
MI | 14150362 / R: 1365 ->1544 |N:3 |W |W |B |B |W |B |W | |
—————————————————————————————– |
11 | CAMERON WILLIAM MC LEMAN |4.5 |D 38|W 56|W 6|L 7|L 3|W 34|W 26| |
MI | 12581589 / R: 1712 ->1696 |N:3 |B |W |B |W |B |W |B | |
—————————————————————————————– |
12 | KENNETH J TACK |4.5 |W 42|W 33|D 5|W 38|H |D 1|L 3| |
MI | 12681257 / R: 1663 ->1670 |N:3 |W |B |W |B | |W |B | |
—————————————————————————————– |
13 | TORRANCE HENRY JR |4.5 |W 36|W 27|L 7|D 5|W 33|L 3|W 32| |
MI | 15082995 / R: 1666 ->1662 |N:3 |B |W |B |B |W |W |B | |
—————————————————————————————– |
14 | BRADLEY SHAW |4.5 |W 54|W 44|W 8|L 1|D 27|L 5|W 31| |
MI | 10131499 / R: 1610 ->1618 |N:3 |W |B |W |W |B |B |W | |
—————————————————————————————– |
15 | ZACHARY JAMES HOUGHTON |4.5 |D 19|L 16|W 30|L 22|W 54|W 33|W 38| |
MI | 15619130 / R: 1220P13->1416P20 |N:3 |B |B |W |W |B |B |W | |
—————————————————————————————– |
16 | MIKE NIKITIN |4.0 |D 10|W 15|H |W 39|L 2|W 36|U | |
MI | 10295068 / R: 1604 ->1613 |N:3 |B |W | |B |W |B | | |
—————————————————————————————– |
17 | RONALD GRZEGORCZYK |4.0 |W 48|W 41|L 26|L 2|W 23|W 22|L 5| |
MI | 10297702 / R: 1629 ->1610 |N:3 |W |B |W |B |W |B |W | |
—————————————————————————————– |
18 | DAVID SUNDEEN |4.0 |W 47|W 9|L 1|W 32|L 19|W 38|L 10| |
MI | 11342094 / R: 1600 ->1600 |N:3 |B |W |B |W |B |W |B | |
—————————————————————————————– |
19 | DIPANKAR ROY |4.0 |D 15|W 10|W 52|D 28|W 18|L 4|L 8| |
MI | 14862333 / R: 1564 ->1570 |N:3 |W |B |W |B |W |W |B | |
—————————————————————————————– |
20 | JASON ZHENG |4.0 |L 40|W 49|W 23|W 41|W 28|L 2|L 9| |
MI | 14529060 / R: 1595 ->1569 |N:4 |W |B |W |B |W |B |W | |
—————————————————————————————– |
21 | DINH DANG BUI |4.0 |W 43|L 1|W 47|L 3|W 40|W 39|L 6| |
ON | 15495066 / R: 1563P22->1562 |N:3 |B |W |B |W |W |B |W | |
—————————————————————————————– |
22 | EUGENE L MCCLURE |4.0 |W 64|D 52|L 28|W 15|H |L 17|W 40| |
MI | 12405534 / R: 1555 ->1529 |N:4 |W |B |W |B | |W |B | |
—————————————————————————————– |
23 | ALAN BUI |4.0 |L 4|W 43|L 20|W 58|L 17|W 37|W 46| |
ON | 15030142 / R: 1363 ->1371 | |B |W |B |W |B |W |B | |
—————————————————————————————– |
24 | MICHAEL R ALDRICH |4.0 |L 28|L 47|W 43|L 25|W 60|W 44|W 39| |
MI | 13469010 / R: 1229 ->1300 |N:4 |B |W |B |B |W |W |B | |
—————————————————————————————– |
25 | LOREN SCHWIEBERT |3.5 |L 9|W 53|L 3|W 24|D 34|L 10|W 47| |
MI | 12486656 / R: 1745 ->1681 |N:4 |B |W |B |W |B |W |B | |
—————————————————————————————– |
26 | MAX ZHU |3.5 |W 49|W 40|W 17|L 4|L 9|D 32|L 11| |
ON | 15131520 / R: 1579 ->1564 |N:4 |B |W |B |W |B |W |W | |
—————————————————————————————– |
27 | GAURAV GIDWANI |3.5 |W 51|L 13|W 46|W 37|D 14|L 6|U | |
MI | 14476567 / R: 1552 ->1539 |N:4 |W |B |W |B |W |B | | |
—————————————————————————————– |
28 | SOFIA ADINA STANESCU-BELLU |3.5 |W 24|D 4|W 22|D 19|L 20|L 8|D 36| |
MI | 14882954 / R: 1507 ->1513 |N:3 |W |W |B |W |B |B |W | |
—————————————————————————————– |
29 | CHIEDOZIE OKORIE |3.5 |W 50|D 6|L 38|L 34|W 52|W 48|U | |
MI | 15323285 / R: 1602P6 ->1508P12 |N:4 |B |W |B |W |W |B | | |
—————————————————————————————– |
30 | GEORGE AVERY JONES |3.5 |L 52|D 64|L 15|W 55|L 31|W 61|W 50| |
ON | 12577178 / R: 1522 ->1444 | |W |B |B |W |W |B |B | |
—————————————————————————————– |
31 | RISHI SHETTY |3.5 |L 58|D 55|W 64|L 10|W 30|W 50|L 14| |
MI | 15131618 / R: 1494 ->1444 | |B |W |B |W |B |W |B | |
—————————————————————————————– |
32 | JOSHUA PHILIP MATHEWS |3.5 |W 61|L 8|W 44|L 18|W 51|D 26|L 13| |
ON | 14073750 / R: 1441 ->1433 |N:4 |W |B |W |B |W |B |W | |
—————————————————————————————– |
33 | JADE GE |3.5 |W 60|L 12|W 50|D 36|L 13|L 15|W 51| |
MI | 14691842 / R: 1449 ->1421 | |B |W |B |W |B |W |B | |
—————————————————————————————– |
34 | MICHAEL JEFFERY THOMAS |3.5 |L 6|W 60|L 37|W 29|D 25|L 11|W 52| |
MI | 15051807 / R: 1399 ->1400 | |B |W |B |B |W |B |W | |
—————————————————————————————– |
35 | JOSHUA DAVID LEE |3.5 |L 46|L 38|W 56|L 6|W 57|D 52|W 48| |
MI | 14601397 / R: 1438 ->1392 | |W |W |B |W |B |B |W | |
—————————————————————————————– |
36 | SIDDHARTH JHA |3.5 |L 13|W 57|W 51|D 33|H |L 16|D 28| |
MI | 14773163 / R: 1355 ->1367 |N:4 |W |B |W |B | |W |B | |
—————————————————————————————– |
37 | AMIYATOSH PWNANANDAM |3.5 |B |L 5|W 34|L 27|H |L 23|W 61| |
MI | 15489571 / R: 980P12->1077P17 | | |B |W |W | |B |W | |
—————————————————————————————– |
38 | BRIAN LIU |3.0 |D 11|W 35|W 29|L 12|H |L 18|L 15| |
MI | 15108523 / R: 1423 ->1439 |N:4 |W |B |W |W | |B |B | |
—————————————————————————————– |
39 | JOEL R HENDON |3.0 |L 1|W 54|W 40|L 16|W 44|L 21|L 24| |
MI | 12923035 / R: 1436P23->1413 |N:4 |B |W |B |W |B |W |W | |
—————————————————————————————– |
40 | FOREST ZHANG |3.0 |W 20|L 26|L 39|W 59|L 21|W 56|L 22| |
MI | 14892710 / R: 1348 ->1346 | |B |B |W |W |B |W |W | |
—————————————————————————————– |
41 | KYLE WILLIAM MURPHY |3.0 |W 59|L 17|W 58|L 20|X |U |U | |
MI | 15761443 / R: 1403P5 ->1341P9 | |B |W |B |W | | | | |
—————————————————————————————– |
42 | JARED GE |3.0 |L 12|L 50|L 57|D 60|D 61|W 64|W 56| |
MI | 14462326 / R: 1332 ->1256 | |B |W |B |B |W |W |B | |
—————————————————————————————– |
43 | ROBERT GLEN VASEY |3.0 |L 21|L 23|L 24|W 63|W 59|L 46|W 55| |
MI | 14101068 / R: 1283 ->1244 | |W |B |W |W |B |B |W | |
—————————————————————————————– |
44 | JUSTIN D SCHILLING |3.0 |B |L 14|L 32|W 53|L 39|L 24|W 59| |
MI | 15323504 / R: 1199 ->1199 | | |W |B |B |W |B |W | |
—————————————————————————————– |
45 | DEREK YAN |3.0 |L 5|L 51|D 60|L 56|W 63|D 55|W 58| |
MI | 15372807 / R: 1242 ->1191 | |W |B |W |B |W |B |W | |
—————————————————————————————– |
46 | JACOB ALEXANDER LAVALLEY |3.0 |W 35|L 7|L 27|L 50|W 64|W 43|L 23| |
MI | 15490981 / R: 377P3 ->1076P10 | |B |W |B |W |B |W |W | |
—————————————————————————————– |
47 | ERIC WRIGHT |2.5 |L 18|W 24|L 21|W 61|L 8|D 51|L 25| |
MI | 12533115 / R: 1362 ->1341 | |W |B |W |B |W |B |W | |
—————————————————————————————– |
48 | DANIEL KHAIN |2.5 |L 17|W 63|H |D 52|H |L 29|L 35| |
MI | 14369165 / R: 1382 ->1335 | |B |W | |B | |W |B | |
—————————————————————————————– |
49 | MICHAEL J MARTIN |2.5 |L 26|L 20|D 63|D 64|W 58|H |U | |
MI | 12531685 / R: 1291P12->1259P17 | |W |W |B |W |B | | | |
—————————————————————————————– |
50 | SHIVAM JHA |2.5 |L 29|W 42|L 33|W 46|H |L 31|L 30| |
MI | 14773178 / R: 1056 ->1111 | |W |B |W |B | |B |W | |
—————————————————————————————– |
51 | TEJAS AYYAGARI |2.5 |L 27|W 45|L 36|W 57|L 32|D 47|L 33| |
MI | 15205474 / R: 1011 ->1097 | |B |W |B |W |B |W |W | |
—————————————————————————————– |
52 | ETHAN GUO |2.5 |W 30|D 22|L 19|D 48|L 29|D 35|L 34| |
MI | 14918803 / R: 935 ->1092 |N:4 |B |W |B |W |B |W |B | |
—————————————————————————————– |
53 | JOSE C YBARRA |2.0 |H |L 25|H |L 44|U |W 57|U | |
MI | 12578849 / R: 1393 ->1359 | | |B | |W | |W | | |
—————————————————————————————– |
54 | LARRY HODGE |2.0 |L 14|L 39|L 61|B |L 15|L 59|W 64| |
MI | 12836773 / R: 1270 ->1200 | |B |B |W | |W |B |W | |
—————————————————————————————– |
55 | ALEX KONG |2.0 |L 62|D 31|L 10|L 30|B |D 45|L 43| |
MI | 15412571 / R: 1186 ->1163 | |W |B |W |B | |W |B | |
—————————————————————————————– |
56 | MARISA RICCI |2.0 |H |L 11|L 35|W 45|H |L 40|L 42| |
MI | 14679887 / R: 1153 ->1140 | | |B |W |W | |B |W | |
—————————————————————————————– |
57 | MICHAEL LU |2.0 |L 7|L 36|W 42|L 51|L 35|L 53|B | |
MI | 15113330 / R: 1092 ->1079 | |B |W |W |B |W |B | | |
—————————————————————————————– |
58 | VIRAJ MOHILE |2.0 |W 31|L 2|L 41|L 23|L 49|B |L 45| |
MI | 14700365 / R: 917 -> 941 | |W |B |W |B |W | |B | |
—————————————————————————————– |
59 | SEAN M MC CORMICK |2.0 |L 41|B |L 9|L 40|L 43|W 54|L 44| |
MI | 12841036 / R: 853 -> 878 | |W | |B |B |W |W |B | |
—————————————————————————————– |
60 | JULIA SHEN |1.5 |L 33|L 34|D 45|D 42|L 24|H |U | |
MI | 14579262 / R: 967 -> 984 | |W |B |B |W |B | | | |
—————————————————————————————– |
61 | JEZZEL FARKAS |1.5 |L 32|L 3|W 54|L 47|D 42|L 30|L 37| |
ON | 15771592 / R: 955P11-> 979P18 | |B |W |B |W |B |W |B | |
—————————————————————————————– |
62 | ASHWIN BALAJI |1.0 |W 55|U |U |U |U |U |U | |
MI | 15219542 / R: 1530 ->1535 | |B | | | | | | | |
—————————————————————————————– |
63 | THOMAS JOSEPH HOSMER |1.0 |L 2|L 48|D 49|L 43|L 45|H |U | |
MI | 15057092 / R: 1175 ->1125 | |W |B |W |B |B | | | |
—————————————————————————————– |
64 | BEN LI |1.0 |L 22|D 30|L 31|D 49|L 46|L 42|L 54| |
MI | 15006561 / R: 1163 ->1112 | |B |W |W |B |W |B |B | |
—————————————————————————————– |
In this code block we split the data into multiple columns, and remove the rows that are just dashes and NAs.
suppressWarnings({chess_wider <- chess_df_raw %>%
separate(chess_results_raw, into = c("Number", "Player Name", "Total Pts", "Round 1", "Round 2", "Round 3", "Round 4", "Round 5", "Round 6", "Round 7"), sep = "\\|")})
chess_filtered <- na.omit(chess_wider)
kable(chess_filtered, format = "pipe", col.names = c("Number", "Player Name", "Total Pts", "Rd 1 Result", "Rd 2 Result", "Rd 3 Result", "Rd 4 Result", "Rd 5 Result", "Rd 6 Result", "Rd 7 Result"), caption = "Data Frame With Multiple Columns", align = "clclllllll")
Number | Player Name | Total Pts | Rd 1 Result | Rd 2 Result | Rd 3 Result | Rd 4 Result | Rd 5 Result | Rd 6 Result | Rd 7 Result | |
---|---|---|---|---|---|---|---|---|---|---|
2 | Pair | Player Name | Total | Round | Round | Round | Round | Round | Round | Round |
3 | Num | USCF ID / Rtg (Pre->Post) | Pts | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
5 | 1 | GARY HUA | 6.0 | W 39 | W 21 | W 18 | W 14 | W 7 | D 12 | D 4 |
6 | ON | 15445895 / R: 1794 ->1817 | N:2 | W | B | W | B | W | B | W |
8 | 2 | DAKSHESH DARURI | 6.0 | W 63 | W 58 | L 4 | W 17 | W 16 | W 20 | W 7 |
9 | MI | 14598900 / R: 1553 ->1663 | N:2 | B | W | B | W | B | W | B |
11 | 3 | ADITYA BAJAJ | 6.0 | L 8 | W 61 | W 25 | W 21 | W 11 | W 13 | W 12 |
12 | MI | 14959604 / R: 1384 ->1640 | N:2 | W | B | W | B | W | B | W |
14 | 4 | PATRICK H SCHILLING | 5.5 | W 23 | D 28 | W 2 | W 26 | D 5 | W 19 | D 1 |
15 | MI | 12616049 / R: 1716 ->1744 | N:2 | W | B | W | B | W | B | B |
17 | 5 | HANSHI ZUO | 5.5 | W 45 | W 37 | D 12 | D 13 | D 4 | W 14 | W 17 |
18 | MI | 14601533 / R: 1655 ->1690 | N:2 | B | W | B | W | B | W | B |
20 | 6 | HANSEN SONG | 5.0 | W 34 | D 29 | L 11 | W 35 | D 10 | W 27 | W 21 |
21 | OH | 15055204 / R: 1686 ->1687 | N:3 | W | B | W | B | B | W | B |
23 | 7 | GARY DEE SWATHELL | 5.0 | W 57 | W 46 | W 13 | W 11 | L 1 | W 9 | L 2 |
24 | MI | 11146376 / R: 1649 ->1673 | N:3 | W | B | W | B | B | W | W |
26 | 8 | EZEKIEL HOUGHTON | 5.0 | W 3 | W 32 | L 14 | L 9 | W 47 | W 28 | W 19 |
27 | MI | 15142253 / R: 1641P17->1657P24 | N:3 | B | W | B | W | B | W | W |
29 | 9 | STEFANO LEE | 5.0 | W 25 | L 18 | W 59 | W 8 | W 26 | L 7 | W 20 |
30 | ON | 14954524 / R: 1411 ->1564 | N:2 | W | B | W | B | W | B | B |
32 | 10 | ANVIT RAO | 5.0 | D 16 | L 19 | W 55 | W 31 | D 6 | W 25 | W 18 |
33 | MI | 14150362 / R: 1365 ->1544 | N:3 | W | W | B | B | W | B | W |
35 | 11 | CAMERON WILLIAM MC LEMAN | 4.5 | D 38 | W 56 | W 6 | L 7 | L 3 | W 34 | W 26 |
36 | MI | 12581589 / R: 1712 ->1696 | N:3 | B | W | B | W | B | W | B |
38 | 12 | KENNETH J TACK | 4.5 | W 42 | W 33 | D 5 | W 38 | H | D 1 | L 3 |
39 | MI | 12681257 / R: 1663 ->1670 | N:3 | W | B | W | B | W | B | |
41 | 13 | TORRANCE HENRY JR | 4.5 | W 36 | W 27 | L 7 | D 5 | W 33 | L 3 | W 32 |
42 | MI | 15082995 / R: 1666 ->1662 | N:3 | B | W | B | B | W | W | B |
44 | 14 | BRADLEY SHAW | 4.5 | W 54 | W 44 | W 8 | L 1 | D 27 | L 5 | W 31 |
45 | MI | 10131499 / R: 1610 ->1618 | N:3 | W | B | W | W | B | B | W |
47 | 15 | ZACHARY JAMES HOUGHTON | 4.5 | D 19 | L 16 | W 30 | L 22 | W 54 | W 33 | W 38 |
48 | MI | 15619130 / R: 1220P13->1416P20 | N:3 | B | B | W | W | B | B | W |
50 | 16 | MIKE NIKITIN | 4.0 | D 10 | W 15 | H | W 39 | L 2 | W 36 | U |
51 | MI | 10295068 / R: 1604 ->1613 | N:3 | B | W | B | W | B | ||
53 | 17 | RONALD GRZEGORCZYK | 4.0 | W 48 | W 41 | L 26 | L 2 | W 23 | W 22 | L 5 |
54 | MI | 10297702 / R: 1629 ->1610 | N:3 | W | B | W | B | W | B | W |
56 | 18 | DAVID SUNDEEN | 4.0 | W 47 | W 9 | L 1 | W 32 | L 19 | W 38 | L 10 |
57 | MI | 11342094 / R: 1600 ->1600 | N:3 | B | W | B | W | B | W | B |
59 | 19 | DIPANKAR ROY | 4.0 | D 15 | W 10 | W 52 | D 28 | W 18 | L 4 | L 8 |
60 | MI | 14862333 / R: 1564 ->1570 | N:3 | W | B | W | B | W | W | B |
62 | 20 | JASON ZHENG | 4.0 | L 40 | W 49 | W 23 | W 41 | W 28 | L 2 | L 9 |
63 | MI | 14529060 / R: 1595 ->1569 | N:4 | W | B | W | B | W | B | W |
65 | 21 | DINH DANG BUI | 4.0 | W 43 | L 1 | W 47 | L 3 | W 40 | W 39 | L 6 |
66 | ON | 15495066 / R: 1563P22->1562 | N:3 | B | W | B | W | W | B | W |
68 | 22 | EUGENE L MCCLURE | 4.0 | W 64 | D 52 | L 28 | W 15 | H | L 17 | W 40 |
69 | MI | 12405534 / R: 1555 ->1529 | N:4 | W | B | W | B | W | B | |
71 | 23 | ALAN BUI | 4.0 | L 4 | W 43 | L 20 | W 58 | L 17 | W 37 | W 46 |
72 | ON | 15030142 / R: 1363 ->1371 | B | W | B | W | B | W | B | |
74 | 24 | MICHAEL R ALDRICH | 4.0 | L 28 | L 47 | W 43 | L 25 | W 60 | W 44 | W 39 |
75 | MI | 13469010 / R: 1229 ->1300 | N:4 | B | W | B | B | W | W | B |
77 | 25 | LOREN SCHWIEBERT | 3.5 | L 9 | W 53 | L 3 | W 24 | D 34 | L 10 | W 47 |
78 | MI | 12486656 / R: 1745 ->1681 | N:4 | B | W | B | W | B | W | B |
80 | 26 | MAX ZHU | 3.5 | W 49 | W 40 | W 17 | L 4 | L 9 | D 32 | L 11 |
81 | ON | 15131520 / R: 1579 ->1564 | N:4 | B | W | B | W | B | W | W |
83 | 27 | GAURAV GIDWANI | 3.5 | W 51 | L 13 | W 46 | W 37 | D 14 | L 6 | U |
84 | MI | 14476567 / R: 1552 ->1539 | N:4 | W | B | W | B | W | B | |
86 | 28 | SOFIA ADINA STANESCU-BELLU | 3.5 | W 24 | D 4 | W 22 | D 19 | L 20 | L 8 | D 36 |
87 | MI | 14882954 / R: 1507 ->1513 | N:3 | W | W | B | W | B | B | W |
89 | 29 | CHIEDOZIE OKORIE | 3.5 | W 50 | D 6 | L 38 | L 34 | W 52 | W 48 | U |
90 | MI | 15323285 / R: 1602P6 ->1508P12 | N:4 | B | W | B | W | W | B | |
92 | 30 | GEORGE AVERY JONES | 3.5 | L 52 | D 64 | L 15 | W 55 | L 31 | W 61 | W 50 |
93 | ON | 12577178 / R: 1522 ->1444 | W | B | B | W | W | B | B | |
95 | 31 | RISHI SHETTY | 3.5 | L 58 | D 55 | W 64 | L 10 | W 30 | W 50 | L 14 |
96 | MI | 15131618 / R: 1494 ->1444 | B | W | B | W | B | W | B | |
98 | 32 | JOSHUA PHILIP MATHEWS | 3.5 | W 61 | L 8 | W 44 | L 18 | W 51 | D 26 | L 13 |
99 | ON | 14073750 / R: 1441 ->1433 | N:4 | W | B | W | B | W | B | W |
101 | 33 | JADE GE | 3.5 | W 60 | L 12 | W 50 | D 36 | L 13 | L 15 | W 51 |
102 | MI | 14691842 / R: 1449 ->1421 | B | W | B | W | B | W | B | |
104 | 34 | MICHAEL JEFFERY THOMAS | 3.5 | L 6 | W 60 | L 37 | W 29 | D 25 | L 11 | W 52 |
105 | MI | 15051807 / R: 1399 ->1400 | B | W | B | B | W | B | W | |
107 | 35 | JOSHUA DAVID LEE | 3.5 | L 46 | L 38 | W 56 | L 6 | W 57 | D 52 | W 48 |
108 | MI | 14601397 / R: 1438 ->1392 | W | W | B | W | B | B | W | |
110 | 36 | SIDDHARTH JHA | 3.5 | L 13 | W 57 | W 51 | D 33 | H | L 16 | D 28 |
111 | MI | 14773163 / R: 1355 ->1367 | N:4 | W | B | W | B | W | B | |
113 | 37 | AMIYATOSH PWNANANDAM | 3.5 | B | L 5 | W 34 | L 27 | H | L 23 | W 61 |
114 | MI | 15489571 / R: 980P12->1077P17 | B | W | W | B | W | |||
116 | 38 | BRIAN LIU | 3.0 | D 11 | W 35 | W 29 | L 12 | H | L 18 | L 15 |
117 | MI | 15108523 / R: 1423 ->1439 | N:4 | W | B | W | W | B | B | |
119 | 39 | JOEL R HENDON | 3.0 | L 1 | W 54 | W 40 | L 16 | W 44 | L 21 | L 24 |
120 | MI | 12923035 / R: 1436P23->1413 | N:4 | B | W | B | W | B | W | W |
122 | 40 | FOREST ZHANG | 3.0 | W 20 | L 26 | L 39 | W 59 | L 21 | W 56 | L 22 |
123 | MI | 14892710 / R: 1348 ->1346 | B | B | W | W | B | W | W | |
125 | 41 | KYLE WILLIAM MURPHY | 3.0 | W 59 | L 17 | W 58 | L 20 | X | U | U |
126 | MI | 15761443 / R: 1403P5 ->1341P9 | B | W | B | W | ||||
128 | 42 | JARED GE | 3.0 | L 12 | L 50 | L 57 | D 60 | D 61 | W 64 | W 56 |
129 | MI | 14462326 / R: 1332 ->1256 | B | W | B | B | W | W | B | |
131 | 43 | ROBERT GLEN VASEY | 3.0 | L 21 | L 23 | L 24 | W 63 | W 59 | L 46 | W 55 |
132 | MI | 14101068 / R: 1283 ->1244 | W | B | W | W | B | B | W | |
134 | 44 | JUSTIN D SCHILLING | 3.0 | B | L 14 | L 32 | W 53 | L 39 | L 24 | W 59 |
135 | MI | 15323504 / R: 1199 ->1199 | W | B | B | W | B | W | ||
137 | 45 | DEREK YAN | 3.0 | L 5 | L 51 | D 60 | L 56 | W 63 | D 55 | W 58 |
138 | MI | 15372807 / R: 1242 ->1191 | W | B | W | B | W | B | W | |
140 | 46 | JACOB ALEXANDER LAVALLEY | 3.0 | W 35 | L 7 | L 27 | L 50 | W 64 | W 43 | L 23 |
141 | MI | 15490981 / R: 377P3 ->1076P10 | B | W | B | W | B | W | W | |
143 | 47 | ERIC WRIGHT | 2.5 | L 18 | W 24 | L 21 | W 61 | L 8 | D 51 | L 25 |
144 | MI | 12533115 / R: 1362 ->1341 | W | B | W | B | W | B | W | |
146 | 48 | DANIEL KHAIN | 2.5 | L 17 | W 63 | H | D 52 | H | L 29 | L 35 |
147 | MI | 14369165 / R: 1382 ->1335 | B | W | B | W | B | |||
149 | 49 | MICHAEL J MARTIN | 2.5 | L 26 | L 20 | D 63 | D 64 | W 58 | H | U |
150 | MI | 12531685 / R: 1291P12->1259P17 | W | W | B | W | B | |||
152 | 50 | SHIVAM JHA | 2.5 | L 29 | W 42 | L 33 | W 46 | H | L 31 | L 30 |
153 | MI | 14773178 / R: 1056 ->1111 | W | B | W | B | B | W | ||
155 | 51 | TEJAS AYYAGARI | 2.5 | L 27 | W 45 | L 36 | W 57 | L 32 | D 47 | L 33 |
156 | MI | 15205474 / R: 1011 ->1097 | B | W | B | W | B | W | W | |
158 | 52 | ETHAN GUO | 2.5 | W 30 | D 22 | L 19 | D 48 | L 29 | D 35 | L 34 |
159 | MI | 14918803 / R: 935 ->1092 | N:4 | B | W | B | W | B | W | B |
161 | 53 | JOSE C YBARRA | 2.0 | H | L 25 | H | L 44 | U | W 57 | U |
162 | MI | 12578849 / R: 1393 ->1359 | B | W | W | |||||
164 | 54 | LARRY HODGE | 2.0 | L 14 | L 39 | L 61 | B | L 15 | L 59 | W 64 |
165 | MI | 12836773 / R: 1270 ->1200 | B | B | W | W | B | W | ||
167 | 55 | ALEX KONG | 2.0 | L 62 | D 31 | L 10 | L 30 | B | D 45 | L 43 |
168 | MI | 15412571 / R: 1186 ->1163 | W | B | W | B | W | B | ||
170 | 56 | MARISA RICCI | 2.0 | H | L 11 | L 35 | W 45 | H | L 40 | L 42 |
171 | MI | 14679887 / R: 1153 ->1140 | B | W | W | B | W | |||
173 | 57 | MICHAEL LU | 2.0 | L 7 | L 36 | W 42 | L 51 | L 35 | L 53 | B |
174 | MI | 15113330 / R: 1092 ->1079 | B | W | W | B | W | B | ||
176 | 58 | VIRAJ MOHILE | 2.0 | W 31 | L 2 | L 41 | L 23 | L 49 | B | L 45 |
177 | MI | 14700365 / R: 917 -> 941 | W | B | W | B | W | B | ||
179 | 59 | SEAN M MC CORMICK | 2.0 | L 41 | B | L 9 | L 40 | L 43 | W 54 | L 44 |
180 | MI | 12841036 / R: 853 -> 878 | W | B | B | W | W | B | ||
182 | 60 | JULIA SHEN | 1.5 | L 33 | L 34 | D 45 | D 42 | L 24 | H | U |
183 | MI | 14579262 / R: 967 -> 984 | W | B | B | W | B | |||
185 | 61 | JEZZEL FARKAS | 1.5 | L 32 | L 3 | W 54 | L 47 | D 42 | L 30 | L 37 |
186 | ON | 15771592 / R: 955P11-> 979P18 | B | W | B | W | B | W | B | |
188 | 62 | ASHWIN BALAJI | 1.0 | W 55 | U | U | U | U | U | U |
189 | MI | 15219542 / R: 1530 ->1535 | B | |||||||
191 | 63 | THOMAS JOSEPH HOSMER | 1.0 | L 2 | L 48 | D 49 | L 43 | L 45 | H | U |
192 | MI | 15057092 / R: 1175 ->1125 | W | B | W | B | B | |||
194 | 64 | BEN LI | 1.0 | L 22 | D 30 | L 31 | D 49 | L 46 | L 42 | L 54 |
195 | MI | 15006561 / R: 1163 ->1112 | B | W | W | B | W | B | B |
In the previous data frame, the important data for each player is spread across two rows. In this code block, we use for loops to get each player’s State and Pre-Rating into the same line as the player’s name and number. This creates a redundant row with no more useful information after the row for each player, so we select only the rows that start with the player number. This results in a data frame that contains only one row for each player and contains all necessary player information: Player Number, Player Name, Total Points, their opponent and results for rounds 1-7, their State, and their rating information.
for (i in 1:nrow(chess_filtered)) {
chess_filtered$State[i] <- chess_filtered$Number[i+1]
}
for (i in 1:nrow(chess_filtered)) {
chess_filtered$Pre_Rating_String[i] <- chess_filtered$`Player Name`[i+1]
}
matching_rows <- grepl(".*\\d+.*", chess_filtered$`Number`)
chess_filtered <- chess_filtered[matching_rows, ]
kable(chess_filtered, format = "pipe", col.names = c("Number", "Player Name", "Total Pts", "Rd 1 Result", "Rd 2 Result", "Rd 3 Result", "Rd 4 Result", "Rd 5 Result", "Rd 6 Result", "Rd 7 Result", "State", "Rating String"), caption = "Data Frame With One Row per Player", align = "clcllllllll")
Number | Player Name | Total Pts | Rd 1 Result | Rd 2 Result | Rd 3 Result | Rd 4 Result | Rd 5 Result | Rd 6 Result | Rd 7 Result | State | Rating String | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | 1 | GARY HUA | 6.0 | W 39 | W 21 | W 18 | W 14 | W 7 | D 12 | D 4 | ON | 15445895 / R: 1794 ->1817 |
8 | 2 | DAKSHESH DARURI | 6.0 | W 63 | W 58 | L 4 | W 17 | W 16 | W 20 | W 7 | MI | 14598900 / R: 1553 ->1663 |
11 | 3 | ADITYA BAJAJ | 6.0 | L 8 | W 61 | W 25 | W 21 | W 11 | W 13 | W 12 | MI | 14959604 / R: 1384 ->1640 |
14 | 4 | PATRICK H SCHILLING | 5.5 | W 23 | D 28 | W 2 | W 26 | D 5 | W 19 | D 1 | MI | 12616049 / R: 1716 ->1744 |
17 | 5 | HANSHI ZUO | 5.5 | W 45 | W 37 | D 12 | D 13 | D 4 | W 14 | W 17 | MI | 14601533 / R: 1655 ->1690 |
20 | 6 | HANSEN SONG | 5.0 | W 34 | D 29 | L 11 | W 35 | D 10 | W 27 | W 21 | OH | 15055204 / R: 1686 ->1687 |
23 | 7 | GARY DEE SWATHELL | 5.0 | W 57 | W 46 | W 13 | W 11 | L 1 | W 9 | L 2 | MI | 11146376 / R: 1649 ->1673 |
26 | 8 | EZEKIEL HOUGHTON | 5.0 | W 3 | W 32 | L 14 | L 9 | W 47 | W 28 | W 19 | MI | 15142253 / R: 1641P17->1657P24 |
29 | 9 | STEFANO LEE | 5.0 | W 25 | L 18 | W 59 | W 8 | W 26 | L 7 | W 20 | ON | 14954524 / R: 1411 ->1564 |
32 | 10 | ANVIT RAO | 5.0 | D 16 | L 19 | W 55 | W 31 | D 6 | W 25 | W 18 | MI | 14150362 / R: 1365 ->1544 |
35 | 11 | CAMERON WILLIAM MC LEMAN | 4.5 | D 38 | W 56 | W 6 | L 7 | L 3 | W 34 | W 26 | MI | 12581589 / R: 1712 ->1696 |
38 | 12 | KENNETH J TACK | 4.5 | W 42 | W 33 | D 5 | W 38 | H | D 1 | L 3 | MI | 12681257 / R: 1663 ->1670 |
41 | 13 | TORRANCE HENRY JR | 4.5 | W 36 | W 27 | L 7 | D 5 | W 33 | L 3 | W 32 | MI | 15082995 / R: 1666 ->1662 |
44 | 14 | BRADLEY SHAW | 4.5 | W 54 | W 44 | W 8 | L 1 | D 27 | L 5 | W 31 | MI | 10131499 / R: 1610 ->1618 |
47 | 15 | ZACHARY JAMES HOUGHTON | 4.5 | D 19 | L 16 | W 30 | L 22 | W 54 | W 33 | W 38 | MI | 15619130 / R: 1220P13->1416P20 |
50 | 16 | MIKE NIKITIN | 4.0 | D 10 | W 15 | H | W 39 | L 2 | W 36 | U | MI | 10295068 / R: 1604 ->1613 |
53 | 17 | RONALD GRZEGORCZYK | 4.0 | W 48 | W 41 | L 26 | L 2 | W 23 | W 22 | L 5 | MI | 10297702 / R: 1629 ->1610 |
56 | 18 | DAVID SUNDEEN | 4.0 | W 47 | W 9 | L 1 | W 32 | L 19 | W 38 | L 10 | MI | 11342094 / R: 1600 ->1600 |
59 | 19 | DIPANKAR ROY | 4.0 | D 15 | W 10 | W 52 | D 28 | W 18 | L 4 | L 8 | MI | 14862333 / R: 1564 ->1570 |
62 | 20 | JASON ZHENG | 4.0 | L 40 | W 49 | W 23 | W 41 | W 28 | L 2 | L 9 | MI | 14529060 / R: 1595 ->1569 |
65 | 21 | DINH DANG BUI | 4.0 | W 43 | L 1 | W 47 | L 3 | W 40 | W 39 | L 6 | ON | 15495066 / R: 1563P22->1562 |
68 | 22 | EUGENE L MCCLURE | 4.0 | W 64 | D 52 | L 28 | W 15 | H | L 17 | W 40 | MI | 12405534 / R: 1555 ->1529 |
71 | 23 | ALAN BUI | 4.0 | L 4 | W 43 | L 20 | W 58 | L 17 | W 37 | W 46 | ON | 15030142 / R: 1363 ->1371 |
74 | 24 | MICHAEL R ALDRICH | 4.0 | L 28 | L 47 | W 43 | L 25 | W 60 | W 44 | W 39 | MI | 13469010 / R: 1229 ->1300 |
77 | 25 | LOREN SCHWIEBERT | 3.5 | L 9 | W 53 | L 3 | W 24 | D 34 | L 10 | W 47 | MI | 12486656 / R: 1745 ->1681 |
80 | 26 | MAX ZHU | 3.5 | W 49 | W 40 | W 17 | L 4 | L 9 | D 32 | L 11 | ON | 15131520 / R: 1579 ->1564 |
83 | 27 | GAURAV GIDWANI | 3.5 | W 51 | L 13 | W 46 | W 37 | D 14 | L 6 | U | MI | 14476567 / R: 1552 ->1539 |
86 | 28 | SOFIA ADINA STANESCU-BELLU | 3.5 | W 24 | D 4 | W 22 | D 19 | L 20 | L 8 | D 36 | MI | 14882954 / R: 1507 ->1513 |
89 | 29 | CHIEDOZIE OKORIE | 3.5 | W 50 | D 6 | L 38 | L 34 | W 52 | W 48 | U | MI | 15323285 / R: 1602P6 ->1508P12 |
92 | 30 | GEORGE AVERY JONES | 3.5 | L 52 | D 64 | L 15 | W 55 | L 31 | W 61 | W 50 | ON | 12577178 / R: 1522 ->1444 |
95 | 31 | RISHI SHETTY | 3.5 | L 58 | D 55 | W 64 | L 10 | W 30 | W 50 | L 14 | MI | 15131618 / R: 1494 ->1444 |
98 | 32 | JOSHUA PHILIP MATHEWS | 3.5 | W 61 | L 8 | W 44 | L 18 | W 51 | D 26 | L 13 | ON | 14073750 / R: 1441 ->1433 |
101 | 33 | JADE GE | 3.5 | W 60 | L 12 | W 50 | D 36 | L 13 | L 15 | W 51 | MI | 14691842 / R: 1449 ->1421 |
104 | 34 | MICHAEL JEFFERY THOMAS | 3.5 | L 6 | W 60 | L 37 | W 29 | D 25 | L 11 | W 52 | MI | 15051807 / R: 1399 ->1400 |
107 | 35 | JOSHUA DAVID LEE | 3.5 | L 46 | L 38 | W 56 | L 6 | W 57 | D 52 | W 48 | MI | 14601397 / R: 1438 ->1392 |
110 | 36 | SIDDHARTH JHA | 3.5 | L 13 | W 57 | W 51 | D 33 | H | L 16 | D 28 | MI | 14773163 / R: 1355 ->1367 |
113 | 37 | AMIYATOSH PWNANANDAM | 3.5 | B | L 5 | W 34 | L 27 | H | L 23 | W 61 | MI | 15489571 / R: 980P12->1077P17 |
116 | 38 | BRIAN LIU | 3.0 | D 11 | W 35 | W 29 | L 12 | H | L 18 | L 15 | MI | 15108523 / R: 1423 ->1439 |
119 | 39 | JOEL R HENDON | 3.0 | L 1 | W 54 | W 40 | L 16 | W 44 | L 21 | L 24 | MI | 12923035 / R: 1436P23->1413 |
122 | 40 | FOREST ZHANG | 3.0 | W 20 | L 26 | L 39 | W 59 | L 21 | W 56 | L 22 | MI | 14892710 / R: 1348 ->1346 |
125 | 41 | KYLE WILLIAM MURPHY | 3.0 | W 59 | L 17 | W 58 | L 20 | X | U | U | MI | 15761443 / R: 1403P5 ->1341P9 |
128 | 42 | JARED GE | 3.0 | L 12 | L 50 | L 57 | D 60 | D 61 | W 64 | W 56 | MI | 14462326 / R: 1332 ->1256 |
131 | 43 | ROBERT GLEN VASEY | 3.0 | L 21 | L 23 | L 24 | W 63 | W 59 | L 46 | W 55 | MI | 14101068 / R: 1283 ->1244 |
134 | 44 | JUSTIN D SCHILLING | 3.0 | B | L 14 | L 32 | W 53 | L 39 | L 24 | W 59 | MI | 15323504 / R: 1199 ->1199 |
137 | 45 | DEREK YAN | 3.0 | L 5 | L 51 | D 60 | L 56 | W 63 | D 55 | W 58 | MI | 15372807 / R: 1242 ->1191 |
140 | 46 | JACOB ALEXANDER LAVALLEY | 3.0 | W 35 | L 7 | L 27 | L 50 | W 64 | W 43 | L 23 | MI | 15490981 / R: 377P3 ->1076P10 |
143 | 47 | ERIC WRIGHT | 2.5 | L 18 | W 24 | L 21 | W 61 | L 8 | D 51 | L 25 | MI | 12533115 / R: 1362 ->1341 |
146 | 48 | DANIEL KHAIN | 2.5 | L 17 | W 63 | H | D 52 | H | L 29 | L 35 | MI | 14369165 / R: 1382 ->1335 |
149 | 49 | MICHAEL J MARTIN | 2.5 | L 26 | L 20 | D 63 | D 64 | W 58 | H | U | MI | 12531685 / R: 1291P12->1259P17 |
152 | 50 | SHIVAM JHA | 2.5 | L 29 | W 42 | L 33 | W 46 | H | L 31 | L 30 | MI | 14773178 / R: 1056 ->1111 |
155 | 51 | TEJAS AYYAGARI | 2.5 | L 27 | W 45 | L 36 | W 57 | L 32 | D 47 | L 33 | MI | 15205474 / R: 1011 ->1097 |
158 | 52 | ETHAN GUO | 2.5 | W 30 | D 22 | L 19 | D 48 | L 29 | D 35 | L 34 | MI | 14918803 / R: 935 ->1092 |
161 | 53 | JOSE C YBARRA | 2.0 | H | L 25 | H | L 44 | U | W 57 | U | MI | 12578849 / R: 1393 ->1359 |
164 | 54 | LARRY HODGE | 2.0 | L 14 | L 39 | L 61 | B | L 15 | L 59 | W 64 | MI | 12836773 / R: 1270 ->1200 |
167 | 55 | ALEX KONG | 2.0 | L 62 | D 31 | L 10 | L 30 | B | D 45 | L 43 | MI | 15412571 / R: 1186 ->1163 |
170 | 56 | MARISA RICCI | 2.0 | H | L 11 | L 35 | W 45 | H | L 40 | L 42 | MI | 14679887 / R: 1153 ->1140 |
173 | 57 | MICHAEL LU | 2.0 | L 7 | L 36 | W 42 | L 51 | L 35 | L 53 | B | MI | 15113330 / R: 1092 ->1079 |
176 | 58 | VIRAJ MOHILE | 2.0 | W 31 | L 2 | L 41 | L 23 | L 49 | B | L 45 | MI | 14700365 / R: 917 -> 941 |
179 | 59 | SEAN M MC CORMICK | 2.0 | L 41 | B | L 9 | L 40 | L 43 | W 54 | L 44 | MI | 12841036 / R: 853 -> 878 |
182 | 60 | JULIA SHEN | 1.5 | L 33 | L 34 | D 45 | D 42 | L 24 | H | U | MI | 14579262 / R: 967 -> 984 |
185 | 61 | JEZZEL FARKAS | 1.5 | L 32 | L 3 | W 54 | L 47 | D 42 | L 30 | L 37 | ON | 15771592 / R: 955P11-> 979P18 |
188 | 62 | ASHWIN BALAJI | 1.0 | W 55 | U | U | U | U | U | U | MI | 15219542 / R: 1530 ->1535 |
191 | 63 | THOMAS JOSEPH HOSMER | 1.0 | L 2 | L 48 | D 49 | L 43 | L 45 | H | U | MI | 15057092 / R: 1175 ->1125 |
194 | 64 | BEN LI | 1.0 | L 22 | D 30 | L 31 | D 49 | L 46 | L 42 | L 54 | MI | 15006561 / R: 1163 ->1112 |
In the previous step, each player’s pre-rating is part of a longer character string. In this code block, we extract it by using a regex to match a 3 or 4 digit sequence that is preceded by a space character, and is not followed by another digit. We then add a new column to the data frame with the extracted pre-tournament rating, and remove the column containing the longer string. Additionally, each round result is a string containing both the match result and the opponent number. We use another regex to extract just the opponent for each round, store this information in 7 new columns (one for each round), and then eliminate the old round columns.
chess_filtered <- chess_filtered %>%
mutate(
Pre_Rating = str_extract(chess_filtered$Pre_Rating_String, "(?<=[:blank:])\\d{3,4}(?!\\d)"),
Pre_Rating_String = NULL
)
chess_filtered <- chess_filtered %>%
mutate(
Opp_1 = str_extract(chess_filtered$`Round 1`, "\\d{1,2}"),
Opp_2 = str_extract(chess_filtered$`Round 2`, "\\d{1,2}"),
Opp_3 = str_extract(chess_filtered$`Round 3`, "\\d{1,2}"),
Opp_4 = str_extract(chess_filtered$`Round 4`, "\\d{1,2}"),
Opp_5 = str_extract(chess_filtered$`Round 5`, "\\d{1,2}"),
Opp_6 = str_extract(chess_filtered$`Round 6`, "\\d{1,2}"),
Opp_7 = str_extract(chess_filtered$`Round 7`, "\\d{1,2}"),
`Round 1` = NULL,
`Round 2` = NULL,
`Round 3` = NULL,
`Round 4` = NULL,
`Round 5` = NULL,
`Round 6` = NULL,
`Round 7` = NULL
)
kable(chess_filtered, format = "pipe", col.names = c("Number", "Player Name", "Total Pts", "State", "Pre-Rating", "Opp 1", "Opp 2", "Opp 3", "Opp 4", "Opp 5", "Opp 6", "Opp 7"), caption = "Data Frame With Opponent Numbers", align = "clcccccccccc")
Number | Player Name | Total Pts | State | Pre-Rating | Opp 1 | Opp 2 | Opp 3 | Opp 4 | Opp 5 | Opp 6 | Opp 7 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | 1 | GARY HUA | 6.0 | ON | 1794 | 39 | 21 | 18 | 14 | 7 | 12 | 4 |
8 | 2 | DAKSHESH DARURI | 6.0 | MI | 1553 | 63 | 58 | 4 | 17 | 16 | 20 | 7 |
11 | 3 | ADITYA BAJAJ | 6.0 | MI | 1384 | 8 | 61 | 25 | 21 | 11 | 13 | 12 |
14 | 4 | PATRICK H SCHILLING | 5.5 | MI | 1716 | 23 | 28 | 2 | 26 | 5 | 19 | 1 |
17 | 5 | HANSHI ZUO | 5.5 | MI | 1655 | 45 | 37 | 12 | 13 | 4 | 14 | 17 |
20 | 6 | HANSEN SONG | 5.0 | OH | 1686 | 34 | 29 | 11 | 35 | 10 | 27 | 21 |
23 | 7 | GARY DEE SWATHELL | 5.0 | MI | 1649 | 57 | 46 | 13 | 11 | 1 | 9 | 2 |
26 | 8 | EZEKIEL HOUGHTON | 5.0 | MI | 1641 | 3 | 32 | 14 | 9 | 47 | 28 | 19 |
29 | 9 | STEFANO LEE | 5.0 | ON | 1411 | 25 | 18 | 59 | 8 | 26 | 7 | 20 |
32 | 10 | ANVIT RAO | 5.0 | MI | 1365 | 16 | 19 | 55 | 31 | 6 | 25 | 18 |
35 | 11 | CAMERON WILLIAM MC LEMAN | 4.5 | MI | 1712 | 38 | 56 | 6 | 7 | 3 | 34 | 26 |
38 | 12 | KENNETH J TACK | 4.5 | MI | 1663 | 42 | 33 | 5 | 38 | NA | 1 | 3 |
41 | 13 | TORRANCE HENRY JR | 4.5 | MI | 1666 | 36 | 27 | 7 | 5 | 33 | 3 | 32 |
44 | 14 | BRADLEY SHAW | 4.5 | MI | 1610 | 54 | 44 | 8 | 1 | 27 | 5 | 31 |
47 | 15 | ZACHARY JAMES HOUGHTON | 4.5 | MI | 1220 | 19 | 16 | 30 | 22 | 54 | 33 | 38 |
50 | 16 | MIKE NIKITIN | 4.0 | MI | 1604 | 10 | 15 | NA | 39 | 2 | 36 | NA |
53 | 17 | RONALD GRZEGORCZYK | 4.0 | MI | 1629 | 48 | 41 | 26 | 2 | 23 | 22 | 5 |
56 | 18 | DAVID SUNDEEN | 4.0 | MI | 1600 | 47 | 9 | 1 | 32 | 19 | 38 | 10 |
59 | 19 | DIPANKAR ROY | 4.0 | MI | 1564 | 15 | 10 | 52 | 28 | 18 | 4 | 8 |
62 | 20 | JASON ZHENG | 4.0 | MI | 1595 | 40 | 49 | 23 | 41 | 28 | 2 | 9 |
65 | 21 | DINH DANG BUI | 4.0 | ON | 1563 | 43 | 1 | 47 | 3 | 40 | 39 | 6 |
68 | 22 | EUGENE L MCCLURE | 4.0 | MI | 1555 | 64 | 52 | 28 | 15 | NA | 17 | 40 |
71 | 23 | ALAN BUI | 4.0 | ON | 1363 | 4 | 43 | 20 | 58 | 17 | 37 | 46 |
74 | 24 | MICHAEL R ALDRICH | 4.0 | MI | 1229 | 28 | 47 | 43 | 25 | 60 | 44 | 39 |
77 | 25 | LOREN SCHWIEBERT | 3.5 | MI | 1745 | 9 | 53 | 3 | 24 | 34 | 10 | 47 |
80 | 26 | MAX ZHU | 3.5 | ON | 1579 | 49 | 40 | 17 | 4 | 9 | 32 | 11 |
83 | 27 | GAURAV GIDWANI | 3.5 | MI | 1552 | 51 | 13 | 46 | 37 | 14 | 6 | NA |
86 | 28 | SOFIA ADINA STANESCU-BELLU | 3.5 | MI | 1507 | 24 | 4 | 22 | 19 | 20 | 8 | 36 |
89 | 29 | CHIEDOZIE OKORIE | 3.5 | MI | 1602 | 50 | 6 | 38 | 34 | 52 | 48 | NA |
92 | 30 | GEORGE AVERY JONES | 3.5 | ON | 1522 | 52 | 64 | 15 | 55 | 31 | 61 | 50 |
95 | 31 | RISHI SHETTY | 3.5 | MI | 1494 | 58 | 55 | 64 | 10 | 30 | 50 | 14 |
98 | 32 | JOSHUA PHILIP MATHEWS | 3.5 | ON | 1441 | 61 | 8 | 44 | 18 | 51 | 26 | 13 |
101 | 33 | JADE GE | 3.5 | MI | 1449 | 60 | 12 | 50 | 36 | 13 | 15 | 51 |
104 | 34 | MICHAEL JEFFERY THOMAS | 3.5 | MI | 1399 | 6 | 60 | 37 | 29 | 25 | 11 | 52 |
107 | 35 | JOSHUA DAVID LEE | 3.5 | MI | 1438 | 46 | 38 | 56 | 6 | 57 | 52 | 48 |
110 | 36 | SIDDHARTH JHA | 3.5 | MI | 1355 | 13 | 57 | 51 | 33 | NA | 16 | 28 |
113 | 37 | AMIYATOSH PWNANANDAM | 3.5 | MI | 980 | NA | 5 | 34 | 27 | NA | 23 | 61 |
116 | 38 | BRIAN LIU | 3.0 | MI | 1423 | 11 | 35 | 29 | 12 | NA | 18 | 15 |
119 | 39 | JOEL R HENDON | 3.0 | MI | 1436 | 1 | 54 | 40 | 16 | 44 | 21 | 24 |
122 | 40 | FOREST ZHANG | 3.0 | MI | 1348 | 20 | 26 | 39 | 59 | 21 | 56 | 22 |
125 | 41 | KYLE WILLIAM MURPHY | 3.0 | MI | 1403 | 59 | 17 | 58 | 20 | NA | NA | NA |
128 | 42 | JARED GE | 3.0 | MI | 1332 | 12 | 50 | 57 | 60 | 61 | 64 | 56 |
131 | 43 | ROBERT GLEN VASEY | 3.0 | MI | 1283 | 21 | 23 | 24 | 63 | 59 | 46 | 55 |
134 | 44 | JUSTIN D SCHILLING | 3.0 | MI | 1199 | NA | 14 | 32 | 53 | 39 | 24 | 59 |
137 | 45 | DEREK YAN | 3.0 | MI | 1242 | 5 | 51 | 60 | 56 | 63 | 55 | 58 |
140 | 46 | JACOB ALEXANDER LAVALLEY | 3.0 | MI | 377 | 35 | 7 | 27 | 50 | 64 | 43 | 23 |
143 | 47 | ERIC WRIGHT | 2.5 | MI | 1362 | 18 | 24 | 21 | 61 | 8 | 51 | 25 |
146 | 48 | DANIEL KHAIN | 2.5 | MI | 1382 | 17 | 63 | NA | 52 | NA | 29 | 35 |
149 | 49 | MICHAEL J MARTIN | 2.5 | MI | 1291 | 26 | 20 | 63 | 64 | 58 | NA | NA |
152 | 50 | SHIVAM JHA | 2.5 | MI | 1056 | 29 | 42 | 33 | 46 | NA | 31 | 30 |
155 | 51 | TEJAS AYYAGARI | 2.5 | MI | 1011 | 27 | 45 | 36 | 57 | 32 | 47 | 33 |
158 | 52 | ETHAN GUO | 2.5 | MI | 935 | 30 | 22 | 19 | 48 | 29 | 35 | 34 |
161 | 53 | JOSE C YBARRA | 2.0 | MI | 1393 | NA | 25 | NA | 44 | NA | 57 | NA |
164 | 54 | LARRY HODGE | 2.0 | MI | 1270 | 14 | 39 | 61 | NA | 15 | 59 | 64 |
167 | 55 | ALEX KONG | 2.0 | MI | 1186 | 62 | 31 | 10 | 30 | NA | 45 | 43 |
170 | 56 | MARISA RICCI | 2.0 | MI | 1153 | NA | 11 | 35 | 45 | NA | 40 | 42 |
173 | 57 | MICHAEL LU | 2.0 | MI | 1092 | 7 | 36 | 42 | 51 | 35 | 53 | NA |
176 | 58 | VIRAJ MOHILE | 2.0 | MI | 917 | 31 | 2 | 41 | 23 | 49 | NA | 45 |
179 | 59 | SEAN M MC CORMICK | 2.0 | MI | 853 | 41 | NA | 9 | 40 | 43 | 54 | 44 |
182 | 60 | JULIA SHEN | 1.5 | MI | 967 | 33 | 34 | 45 | 42 | 24 | NA | NA |
185 | 61 | JEZZEL FARKAS | 1.5 | ON | 955 | 32 | 3 | 54 | 47 | 42 | 30 | 37 |
188 | 62 | ASHWIN BALAJI | 1.0 | MI | 1530 | 55 | NA | NA | NA | NA | NA | NA |
191 | 63 | THOMAS JOSEPH HOSMER | 1.0 | MI | 1175 | 2 | 48 | 49 | 43 | 45 | NA | NA |
194 | 64 | BEN LI | 1.0 | MI | 1163 | 22 | 30 | 31 | 49 | 46 | 42 | 54 |
The reason why we needed the opponent number for each round is that we need to calculate the average pre-tournament rating for each player’s opponents. In order to do that, we don’t actually need the number of each player’s opponent for each round, we need the pre-tournament rating of each player’s opponent for each round. In this code block, we create a new column for the rating of each player’s opponent in each round, then delete the columns with the opponent numbers.
chess_filtered$Opp_1_rating <- as.integer(chess_filtered$Pre_Rating[as.integer(chess_filtered$Opp_1)])
chess_filtered$Opp_2_rating <- as.integer(chess_filtered$Pre_Rating[as.integer(chess_filtered$Opp_2)])
chess_filtered$Opp_3_rating <- as.integer(chess_filtered$Pre_Rating[as.integer(chess_filtered$Opp_3)])
chess_filtered$Opp_4_rating <- as.integer(chess_filtered$Pre_Rating[as.integer(chess_filtered$Opp_4)])
chess_filtered$Opp_5_rating <- as.integer(chess_filtered$Pre_Rating[as.integer(chess_filtered$Opp_5)])
chess_filtered$Opp_6_rating <- as.integer(chess_filtered$Pre_Rating[as.integer(chess_filtered$Opp_6)])
chess_filtered$Opp_7_rating <- as.integer(chess_filtered$Pre_Rating[as.integer(chess_filtered$Opp_7)])
chess_filtered <- subset(chess_filtered, select = -c(6:12))
kable(chess_filtered, format = "pipe", col.names = c("Number", "Player Name", "Total Pts", "State", "Pre-Rating", "Opp 1 Rating ", "Opp 2 Rating", "Opp 3 Rating", "Opp 4 Rating", "Opp 5 Rating", "Opp 6 Rating", "Opp 7 Rating"), caption = "Data Frame With Opponent Ratings", align = "clcccccccccc")
Number | Player Name | Total Pts | State | Pre-Rating | Opp 1 Rating | Opp 2 Rating | Opp 3 Rating | Opp 4 Rating | Opp 5 Rating | Opp 6 Rating | Opp 7 Rating | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | 1 | GARY HUA | 6.0 | ON | 1794 | 1436 | 1563 | 1600 | 1610 | 1649 | 1663 | 1716 |
8 | 2 | DAKSHESH DARURI | 6.0 | MI | 1553 | 1175 | 917 | 1716 | 1629 | 1604 | 1595 | 1649 |
11 | 3 | ADITYA BAJAJ | 6.0 | MI | 1384 | 1641 | 955 | 1745 | 1563 | 1712 | 1666 | 1663 |
14 | 4 | PATRICK H SCHILLING | 5.5 | MI | 1716 | 1363 | 1507 | 1553 | 1579 | 1655 | 1564 | 1794 |
17 | 5 | HANSHI ZUO | 5.5 | MI | 1655 | 1242 | 980 | 1663 | 1666 | 1716 | 1610 | 1629 |
20 | 6 | HANSEN SONG | 5.0 | OH | 1686 | 1399 | 1602 | 1712 | 1438 | 1365 | 1552 | 1563 |
23 | 7 | GARY DEE SWATHELL | 5.0 | MI | 1649 | 1092 | 377 | 1666 | 1712 | 1794 | 1411 | 1553 |
26 | 8 | EZEKIEL HOUGHTON | 5.0 | MI | 1641 | 1384 | 1441 | 1610 | 1411 | 1362 | 1507 | 1564 |
29 | 9 | STEFANO LEE | 5.0 | ON | 1411 | 1745 | 1600 | 853 | 1641 | 1579 | 1649 | 1595 |
32 | 10 | ANVIT RAO | 5.0 | MI | 1365 | 1604 | 1564 | 1186 | 1494 | 1686 | 1745 | 1600 |
35 | 11 | CAMERON WILLIAM MC LEMAN | 4.5 | MI | 1712 | 1423 | 1153 | 1686 | 1649 | 1384 | 1399 | 1579 |
38 | 12 | KENNETH J TACK | 4.5 | MI | 1663 | 1332 | 1449 | 1655 | 1423 | NA | 1794 | 1384 |
41 | 13 | TORRANCE HENRY JR | 4.5 | MI | 1666 | 1355 | 1552 | 1649 | 1655 | 1449 | 1384 | 1441 |
44 | 14 | BRADLEY SHAW | 4.5 | MI | 1610 | 1270 | 1199 | 1641 | 1794 | 1552 | 1655 | 1494 |
47 | 15 | ZACHARY JAMES HOUGHTON | 4.5 | MI | 1220 | 1564 | 1604 | 1522 | 1555 | 1270 | 1449 | 1423 |
50 | 16 | MIKE NIKITIN | 4.0 | MI | 1604 | 1365 | 1220 | NA | 1436 | 1553 | 1355 | NA |
53 | 17 | RONALD GRZEGORCZYK | 4.0 | MI | 1629 | 1382 | 1403 | 1579 | 1553 | 1363 | 1555 | 1655 |
56 | 18 | DAVID SUNDEEN | 4.0 | MI | 1600 | 1362 | 1411 | 1794 | 1441 | 1564 | 1423 | 1365 |
59 | 19 | DIPANKAR ROY | 4.0 | MI | 1564 | 1220 | 1365 | 935 | 1507 | 1600 | 1716 | 1641 |
62 | 20 | JASON ZHENG | 4.0 | MI | 1595 | 1348 | 1291 | 1363 | 1403 | 1507 | 1553 | 1411 |
65 | 21 | DINH DANG BUI | 4.0 | ON | 1563 | 1283 | 1794 | 1362 | 1384 | 1348 | 1436 | 1686 |
68 | 22 | EUGENE L MCCLURE | 4.0 | MI | 1555 | 1163 | 935 | 1507 | 1220 | NA | 1629 | 1348 |
71 | 23 | ALAN BUI | 4.0 | ON | 1363 | 1716 | 1283 | 1595 | 917 | 1629 | 980 | 377 |
74 | 24 | MICHAEL R ALDRICH | 4.0 | MI | 1229 | 1507 | 1362 | 1283 | 1745 | 967 | 1199 | 1436 |
77 | 25 | LOREN SCHWIEBERT | 3.5 | MI | 1745 | 1411 | 1393 | 1384 | 1229 | 1399 | 1365 | 1362 |
80 | 26 | MAX ZHU | 3.5 | ON | 1579 | 1291 | 1348 | 1629 | 1716 | 1411 | 1441 | 1712 |
83 | 27 | GAURAV GIDWANI | 3.5 | MI | 1552 | 1011 | 1666 | 377 | 980 | 1610 | 1686 | NA |
86 | 28 | SOFIA ADINA STANESCU-BELLU | 3.5 | MI | 1507 | 1229 | 1716 | 1555 | 1564 | 1595 | 1641 | 1355 |
89 | 29 | CHIEDOZIE OKORIE | 3.5 | MI | 1602 | 1056 | 1686 | 1423 | 1399 | 935 | 1382 | NA |
92 | 30 | GEORGE AVERY JONES | 3.5 | ON | 1522 | 935 | 1163 | 1220 | 1186 | 1494 | 955 | 1056 |
95 | 31 | RISHI SHETTY | 3.5 | MI | 1494 | 917 | 1186 | 1163 | 1365 | 1522 | 1056 | 1610 |
98 | 32 | JOSHUA PHILIP MATHEWS | 3.5 | ON | 1441 | 955 | 1641 | 1199 | 1600 | 1011 | 1579 | 1666 |
101 | 33 | JADE GE | 3.5 | MI | 1449 | 967 | 1663 | 1056 | 1355 | 1666 | 1220 | 1011 |
104 | 34 | MICHAEL JEFFERY THOMAS | 3.5 | MI | 1399 | 1686 | 967 | 980 | 1602 | 1745 | 1712 | 935 |
107 | 35 | JOSHUA DAVID LEE | 3.5 | MI | 1438 | 377 | 1423 | 1153 | 1686 | 1092 | 935 | 1382 |
110 | 36 | SIDDHARTH JHA | 3.5 | MI | 1355 | 1666 | 1092 | 1011 | 1449 | NA | 1604 | 1507 |
113 | 37 | AMIYATOSH PWNANANDAM | 3.5 | MI | 980 | NA | 1655 | 1399 | 1552 | NA | 1363 | 955 |
116 | 38 | BRIAN LIU | 3.0 | MI | 1423 | 1712 | 1438 | 1602 | 1663 | NA | 1600 | 1220 |
119 | 39 | JOEL R HENDON | 3.0 | MI | 1436 | 1794 | 1270 | 1348 | 1604 | 1199 | 1563 | 1229 |
122 | 40 | FOREST ZHANG | 3.0 | MI | 1348 | 1595 | 1579 | 1436 | 853 | 1563 | 1153 | 1555 |
125 | 41 | KYLE WILLIAM MURPHY | 3.0 | MI | 1403 | 853 | 1629 | 917 | 1595 | NA | NA | NA |
128 | 42 | JARED GE | 3.0 | MI | 1332 | 1663 | 1056 | 1092 | 967 | 955 | 1163 | 1153 |
131 | 43 | ROBERT GLEN VASEY | 3.0 | MI | 1283 | 1563 | 1363 | 1229 | 1175 | 853 | 377 | 1186 |
134 | 44 | JUSTIN D SCHILLING | 3.0 | MI | 1199 | NA | 1610 | 1441 | 1393 | 1436 | 1229 | 853 |
137 | 45 | DEREK YAN | 3.0 | MI | 1242 | 1655 | 1011 | 967 | 1153 | 1175 | 1186 | 917 |
140 | 46 | JACOB ALEXANDER LAVALLEY | 3.0 | MI | 377 | 1438 | 1649 | 1552 | 1056 | 1163 | 1283 | 1363 |
143 | 47 | ERIC WRIGHT | 2.5 | MI | 1362 | 1600 | 1229 | 1563 | 955 | 1641 | 1011 | 1745 |
146 | 48 | DANIEL KHAIN | 2.5 | MI | 1382 | 1629 | 1175 | NA | 935 | NA | 1602 | 1438 |
149 | 49 | MICHAEL J MARTIN | 2.5 | MI | 1291 | 1579 | 1595 | 1175 | 1163 | 917 | NA | NA |
152 | 50 | SHIVAM JHA | 2.5 | MI | 1056 | 1602 | 1332 | 1449 | 377 | NA | 1494 | 1522 |
155 | 51 | TEJAS AYYAGARI | 2.5 | MI | 1011 | 1552 | 1242 | 1355 | 1092 | 1441 | 1362 | 1449 |
158 | 52 | ETHAN GUO | 2.5 | MI | 935 | 1522 | 1555 | 1564 | 1382 | 1602 | 1438 | 1399 |
161 | 53 | JOSE C YBARRA | 2.0 | MI | 1393 | NA | 1745 | NA | 1199 | NA | 1092 | NA |
164 | 54 | LARRY HODGE | 2.0 | MI | 1270 | 1610 | 1436 | 955 | NA | 1220 | 853 | 1163 |
167 | 55 | ALEX KONG | 2.0 | MI | 1186 | 1530 | 1494 | 1365 | 1522 | NA | 1242 | 1283 |
170 | 56 | MARISA RICCI | 2.0 | MI | 1153 | NA | 1712 | 1438 | 1242 | NA | 1348 | 1332 |
173 | 57 | MICHAEL LU | 2.0 | MI | 1092 | 1649 | 1355 | 1332 | 1011 | 1438 | 1393 | NA |
176 | 58 | VIRAJ MOHILE | 2.0 | MI | 917 | 1494 | 1553 | 1403 | 1363 | 1291 | NA | 1242 |
179 | 59 | SEAN M MC CORMICK | 2.0 | MI | 853 | 1403 | NA | 1411 | 1348 | 1283 | 1270 | 1199 |
182 | 60 | JULIA SHEN | 1.5 | MI | 967 | 1449 | 1399 | 1242 | 1332 | 1229 | NA | NA |
185 | 61 | JEZZEL FARKAS | 1.5 | ON | 955 | 1441 | 1384 | 1270 | 1362 | 1332 | 1522 | 980 |
188 | 62 | ASHWIN BALAJI | 1.0 | MI | 1530 | 1186 | NA | NA | NA | NA | NA | NA |
191 | 63 | THOMAS JOSEPH HOSMER | 1.0 | MI | 1175 | 1553 | 1382 | 1291 | 1283 | 1242 | NA | NA |
194 | 64 | BEN LI | 1.0 | MI | 1163 | 1555 | 1522 | 1494 | 1291 | 377 | 1332 | 1270 |
In this code block, we calculate the average of the opponent pre-tournament ratings for each player (making sure to account for NA values), and then remove the columns with individual opponent rating data. Our data frame is complete, so we write it to a csv.
chess_filtered <- chess_filtered %>% rowwise() %>%
mutate(Opponents_Avg_Pre_Rating = mean(c_across(Opp_1_rating:Opp_7_rating), na.rm = TRUE))
chess_filtered <- subset(chess_filtered, select = -c(6:12))
write.csv(chess_filtered, "/Users/Shared/chessproject.csv", row.names = FALSE, append = FALSE)
## Warning in write.csv(chess_filtered, "/Users/Shared/chessproject.csv",
## row.names = FALSE, : attempt to set 'append' ignored
kable(chess_filtered, format = "pipe", col.names = c("Number", "Player Name", "Total Pts", "State", "Pre-Rating", "Avg Opp Rating"), caption = "Final Data Frame", align = "clcccc", digits = 0)
Number | Player Name | Total Pts | State | Pre-Rating | Avg Opp Rating |
---|---|---|---|---|---|
1 | GARY HUA | 6.0 | ON | 1794 | 1605 |
2 | DAKSHESH DARURI | 6.0 | MI | 1553 | 1469 |
3 | ADITYA BAJAJ | 6.0 | MI | 1384 | 1564 |
4 | PATRICK H SCHILLING | 5.5 | MI | 1716 | 1574 |
5 | HANSHI ZUO | 5.5 | MI | 1655 | 1501 |
6 | HANSEN SONG | 5.0 | OH | 1686 | 1519 |
7 | GARY DEE SWATHELL | 5.0 | MI | 1649 | 1372 |
8 | EZEKIEL HOUGHTON | 5.0 | MI | 1641 | 1468 |
9 | STEFANO LEE | 5.0 | ON | 1411 | 1523 |
10 | ANVIT RAO | 5.0 | MI | 1365 | 1554 |
11 | CAMERON WILLIAM MC LEMAN | 4.5 | MI | 1712 | 1468 |
12 | KENNETH J TACK | 4.5 | MI | 1663 | 1506 |
13 | TORRANCE HENRY JR | 4.5 | MI | 1666 | 1498 |
14 | BRADLEY SHAW | 4.5 | MI | 1610 | 1515 |
15 | ZACHARY JAMES HOUGHTON | 4.5 | MI | 1220 | 1484 |
16 | MIKE NIKITIN | 4.0 | MI | 1604 | 1386 |
17 | RONALD GRZEGORCZYK | 4.0 | MI | 1629 | 1499 |
18 | DAVID SUNDEEN | 4.0 | MI | 1600 | 1480 |
19 | DIPANKAR ROY | 4.0 | MI | 1564 | 1426 |
20 | JASON ZHENG | 4.0 | MI | 1595 | 1411 |
21 | DINH DANG BUI | 4.0 | ON | 1563 | 1470 |
22 | EUGENE L MCCLURE | 4.0 | MI | 1555 | 1300 |
23 | ALAN BUI | 4.0 | ON | 1363 | 1214 |
24 | MICHAEL R ALDRICH | 4.0 | MI | 1229 | 1357 |
25 | LOREN SCHWIEBERT | 3.5 | MI | 1745 | 1363 |
26 | MAX ZHU | 3.5 | ON | 1579 | 1507 |
27 | GAURAV GIDWANI | 3.5 | MI | 1552 | 1222 |
28 | SOFIA ADINA STANESCU-BELLU | 3.5 | MI | 1507 | 1522 |
29 | CHIEDOZIE OKORIE | 3.5 | MI | 1602 | 1314 |
30 | GEORGE AVERY JONES | 3.5 | ON | 1522 | 1144 |
31 | RISHI SHETTY | 3.5 | MI | 1494 | 1260 |
32 | JOSHUA PHILIP MATHEWS | 3.5 | ON | 1441 | 1379 |
33 | JADE GE | 3.5 | MI | 1449 | 1277 |
34 | MICHAEL JEFFERY THOMAS | 3.5 | MI | 1399 | 1375 |
35 | JOSHUA DAVID LEE | 3.5 | MI | 1438 | 1150 |
36 | SIDDHARTH JHA | 3.5 | MI | 1355 | 1388 |
37 | AMIYATOSH PWNANANDAM | 3.5 | MI | 980 | 1385 |
38 | BRIAN LIU | 3.0 | MI | 1423 | 1539 |
39 | JOEL R HENDON | 3.0 | MI | 1436 | 1430 |
40 | FOREST ZHANG | 3.0 | MI | 1348 | 1391 |
41 | KYLE WILLIAM MURPHY | 3.0 | MI | 1403 | 1248 |
42 | JARED GE | 3.0 | MI | 1332 | 1150 |
43 | ROBERT GLEN VASEY | 3.0 | MI | 1283 | 1107 |
44 | JUSTIN D SCHILLING | 3.0 | MI | 1199 | 1327 |
45 | DEREK YAN | 3.0 | MI | 1242 | 1152 |
46 | JACOB ALEXANDER LAVALLEY | 3.0 | MI | 377 | 1358 |
47 | ERIC WRIGHT | 2.5 | MI | 1362 | 1392 |
48 | DANIEL KHAIN | 2.5 | MI | 1382 | 1356 |
49 | MICHAEL J MARTIN | 2.5 | MI | 1291 | 1286 |
50 | SHIVAM JHA | 2.5 | MI | 1056 | 1296 |
51 | TEJAS AYYAGARI | 2.5 | MI | 1011 | 1356 |
52 | ETHAN GUO | 2.5 | MI | 935 | 1495 |
53 | JOSE C YBARRA | 2.0 | MI | 1393 | 1345 |
54 | LARRY HODGE | 2.0 | MI | 1270 | 1206 |
55 | ALEX KONG | 2.0 | MI | 1186 | 1406 |
56 | MARISA RICCI | 2.0 | MI | 1153 | 1414 |
57 | MICHAEL LU | 2.0 | MI | 1092 | 1363 |
58 | VIRAJ MOHILE | 2.0 | MI | 917 | 1391 |
59 | SEAN M MC CORMICK | 2.0 | MI | 853 | 1319 |
60 | JULIA SHEN | 1.5 | MI | 967 | 1330 |
61 | JEZZEL FARKAS | 1.5 | ON | 955 | 1327 |
62 | ASHWIN BALAJI | 1.0 | MI | 1530 | 1186 |
63 | THOMAS JOSEPH HOSMER | 1.0 | MI | 1175 | 1350 |
64 | BEN LI | 1.0 | MI | 1163 | 1263 |
In this code block we create a scatter plot with each point representing one player, comparing the pre-tournament average opponent rating for that player to the number of points they earned. We also calculate the correlation coefficient.
chess_filtered$Total_Pts <- as.numeric(chess_filtered$ 'Total Pts')
ggplot(data = chess_filtered, aes(x = Opponents_Avg_Pre_Rating, y = Total_Pts)) +
geom_point() +
geom_smooth() +
labs(title = "Total Points vs. Average Pre-Tournament Rating of Opponents", x = "Average Pre-Tournament Rating of Opponents", y = "Total Points")
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
cor(chess_filtered$Opponents_Avg_Pre_Rating, chess_filtered$Total_Pts)
## [1] 0.5505086
The scatter plot reveals that the chess players whose opponents had a higher average rating tended to score more points than those whose opponents had a lower average rating. This is likely because of the Swiss round pairing system used by chess tournaments: Players with better records are matched against one another, resulting in the best players facing off. Competitors whose opponents had high average ratings were likely very skilled themselves.