“In this project, you’re given a text file with chess tournament results where the information has some structure. Your job is to create an R Markdown file that generates a .CSV file (that could for example be imported into a SQL database) with the following information for all of the players:
Player’s Name, Player’s State, Total Number of Points, Player’s Pre-Rating, and Average Pre Chess Rating of Opponents
For the first player, the information would be: Gary Hua, ON, 6.0, 1794, 1605”
knitr::opts_chunk$set(echo = TRUE)
# Import libraries
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
library(stringr)
library(knitr)
# Upload data file from local directory.
datafile <- readLines('c:/data/project1data.txt', warn = FALSE)
data <- data.frame(datafile)
# Remove lines with only dashes
df_clean = data.frame(data[-seq(from = 1, to= nrow(data), by= 3),])
# Display data frame.
df_clean
## data..seq.from...1..to...nrow.data...by...3....
## 1 Pair | Player Name |Total|Round|Round|Round|Round|Round|Round|Round|
## 2 Num | USCF ID / Rtg (Pre->Post) | Pts | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
## 3 1 | GARY HUA |6.0 |W 39|W 21|W 18|W 14|W 7|D 12|D 4|
## 4 ON | 15445895 / R: 1794 ->1817 |N:2 |W |B |W |B |W |B |W |
## 5 2 | DAKSHESH DARURI |6.0 |W 63|W 58|L 4|W 17|W 16|W 20|W 7|
## 6 MI | 14598900 / R: 1553 ->1663 |N:2 |B |W |B |W |B |W |B |
## 7 3 | ADITYA BAJAJ |6.0 |L 8|W 61|W 25|W 21|W 11|W 13|W 12|
## 8 MI | 14959604 / R: 1384 ->1640 |N:2 |W |B |W |B |W |B |W |
## 9 4 | PATRICK H SCHILLING |5.5 |W 23|D 28|W 2|W 26|D 5|W 19|D 1|
## 10 MI | 12616049 / R: 1716 ->1744 |N:2 |W |B |W |B |W |B |B |
## 11 5 | HANSHI ZUO |5.5 |W 45|W 37|D 12|D 13|D 4|W 14|W 17|
## 12 MI | 14601533 / R: 1655 ->1690 |N:2 |B |W |B |W |B |W |B |
## 13 6 | HANSEN SONG |5.0 |W 34|D 29|L 11|W 35|D 10|W 27|W 21|
## 14 OH | 15055204 / R: 1686 ->1687 |N:3 |W |B |W |B |B |W |B |
## 15 7 | GARY DEE SWATHELL |5.0 |W 57|W 46|W 13|W 11|L 1|W 9|L 2|
## 16 MI | 11146376 / R: 1649 ->1673 |N:3 |W |B |W |B |B |W |W |
## 17 8 | EZEKIEL HOUGHTON |5.0 |W 3|W 32|L 14|L 9|W 47|W 28|W 19|
## 18 MI | 15142253 / R: 1641P17->1657P24 |N:3 |B |W |B |W |B |W |W |
## 19 9 | STEFANO LEE |5.0 |W 25|L 18|W 59|W 8|W 26|L 7|W 20|
## 20 ON | 14954524 / R: 1411 ->1564 |N:2 |W |B |W |B |W |B |B |
## 21 10 | ANVIT RAO |5.0 |D 16|L 19|W 55|W 31|D 6|W 25|W 18|
## 22 MI | 14150362 / R: 1365 ->1544 |N:3 |W |W |B |B |W |B |W |
## 23 11 | CAMERON WILLIAM MC LEMAN |4.5 |D 38|W 56|W 6|L 7|L 3|W 34|W 26|
## 24 MI | 12581589 / R: 1712 ->1696 |N:3 |B |W |B |W |B |W |B |
## 25 12 | KENNETH J TACK |4.5 |W 42|W 33|D 5|W 38|H |D 1|L 3|
## 26 MI | 12681257 / R: 1663 ->1670 |N:3 |W |B |W |B | |W |B |
## 27 13 | TORRANCE HENRY JR |4.5 |W 36|W 27|L 7|D 5|W 33|L 3|W 32|
## 28 MI | 15082995 / R: 1666 ->1662 |N:3 |B |W |B |B |W |W |B |
## 29 14 | BRADLEY SHAW |4.5 |W 54|W 44|W 8|L 1|D 27|L 5|W 31|
## 30 MI | 10131499 / R: 1610 ->1618 |N:3 |W |B |W |W |B |B |W |
## 31 15 | ZACHARY JAMES HOUGHTON |4.5 |D 19|L 16|W 30|L 22|W 54|W 33|W 38|
## 32 MI | 15619130 / R: 1220P13->1416P20 |N:3 |B |B |W |W |B |B |W |
## 33 16 | MIKE NIKITIN |4.0 |D 10|W 15|H |W 39|L 2|W 36|U |
## 34 MI | 10295068 / R: 1604 ->1613 |N:3 |B |W | |B |W |B | |
## 35 17 | RONALD GRZEGORCZYK |4.0 |W 48|W 41|L 26|L 2|W 23|W 22|L 5|
## 36 MI | 10297702 / R: 1629 ->1610 |N:3 |W |B |W |B |W |B |W |
## 37 18 | DAVID SUNDEEN |4.0 |W 47|W 9|L 1|W 32|L 19|W 38|L 10|
## 38 MI | 11342094 / R: 1600 ->1600 |N:3 |B |W |B |W |B |W |B |
## 39 19 | DIPANKAR ROY |4.0 |D 15|W 10|W 52|D 28|W 18|L 4|L 8|
## 40 MI | 14862333 / R: 1564 ->1570 |N:3 |W |B |W |B |W |W |B |
## 41 20 | JASON ZHENG |4.0 |L 40|W 49|W 23|W 41|W 28|L 2|L 9|
## 42 MI | 14529060 / R: 1595 ->1569 |N:4 |W |B |W |B |W |B |W |
## 43 21 | DINH DANG BUI |4.0 |W 43|L 1|W 47|L 3|W 40|W 39|L 6|
## 44 ON | 15495066 / R: 1563P22->1562 |N:3 |B |W |B |W |W |B |W |
## 45 22 | EUGENE L MCCLURE |4.0 |W 64|D 52|L 28|W 15|H |L 17|W 40|
## 46 MI | 12405534 / R: 1555 ->1529 |N:4 |W |B |W |B | |W |B |
## 47 23 | ALAN BUI |4.0 |L 4|W 43|L 20|W 58|L 17|W 37|W 46|
## 48 ON | 15030142 / R: 1363 ->1371 | |B |W |B |W |B |W |B |
## 49 24 | MICHAEL R ALDRICH |4.0 |L 28|L 47|W 43|L 25|W 60|W 44|W 39|
## 50 MI | 13469010 / R: 1229 ->1300 |N:4 |B |W |B |B |W |W |B |
## 51 25 | LOREN SCHWIEBERT |3.5 |L 9|W 53|L 3|W 24|D 34|L 10|W 47|
## 52 MI | 12486656 / R: 1745 ->1681 |N:4 |B |W |B |W |B |W |B |
## 53 26 | MAX ZHU |3.5 |W 49|W 40|W 17|L 4|L 9|D 32|L 11|
## 54 ON | 15131520 / R: 1579 ->1564 |N:4 |B |W |B |W |B |W |W |
## 55 27 | GAURAV GIDWANI |3.5 |W 51|L 13|W 46|W 37|D 14|L 6|U |
## 56 MI | 14476567 / R: 1552 ->1539 |N:4 |W |B |W |B |W |B | |
## 57 28 | SOFIA ADINA STANESCU-BELLU |3.5 |W 24|D 4|W 22|D 19|L 20|L 8|D 36|
## 58 MI | 14882954 / R: 1507 ->1513 |N:3 |W |W |B |W |B |B |W |
## 59 29 | CHIEDOZIE OKORIE |3.5 |W 50|D 6|L 38|L 34|W 52|W 48|U |
## 60 MI | 15323285 / R: 1602P6 ->1508P12 |N:4 |B |W |B |W |W |B | |
## 61 30 | GEORGE AVERY JONES |3.5 |L 52|D 64|L 15|W 55|L 31|W 61|W 50|
## 62 ON | 12577178 / R: 1522 ->1444 | |W |B |B |W |W |B |B |
## 63 31 | RISHI SHETTY |3.5 |L 58|D 55|W 64|L 10|W 30|W 50|L 14|
## 64 MI | 15131618 / R: 1494 ->1444 | |B |W |B |W |B |W |B |
## 65 32 | JOSHUA PHILIP MATHEWS |3.5 |W 61|L 8|W 44|L 18|W 51|D 26|L 13|
## 66 ON | 14073750 / R: 1441 ->1433 |N:4 |W |B |W |B |W |B |W |
## 67 33 | JADE GE |3.5 |W 60|L 12|W 50|D 36|L 13|L 15|W 51|
## 68 MI | 14691842 / R: 1449 ->1421 | |B |W |B |W |B |W |B |
## 69 34 | MICHAEL JEFFERY THOMAS |3.5 |L 6|W 60|L 37|W 29|D 25|L 11|W 52|
## 70 MI | 15051807 / R: 1399 ->1400 | |B |W |B |B |W |B |W |
## 71 35 | JOSHUA DAVID LEE |3.5 |L 46|L 38|W 56|L 6|W 57|D 52|W 48|
## 72 MI | 14601397 / R: 1438 ->1392 | |W |W |B |W |B |B |W |
## 73 36 | SIDDHARTH JHA |3.5 |L 13|W 57|W 51|D 33|H |L 16|D 28|
## 74 MI | 14773163 / R: 1355 ->1367 |N:4 |W |B |W |B | |W |B |
## 75 37 | AMIYATOSH PWNANANDAM |3.5 |B |L 5|W 34|L 27|H |L 23|W 61|
## 76 MI | 15489571 / R: 980P12->1077P17 | | |B |W |W | |B |W |
## 77 38 | BRIAN LIU |3.0 |D 11|W 35|W 29|L 12|H |L 18|L 15|
## 78 MI | 15108523 / R: 1423 ->1439 |N:4 |W |B |W |W | |B |B |
## 79 39 | JOEL R HENDON |3.0 |L 1|W 54|W 40|L 16|W 44|L 21|L 24|
## 80 MI | 12923035 / R: 1436P23->1413 |N:4 |B |W |B |W |B |W |W |
## 81 40 | FOREST ZHANG |3.0 |W 20|L 26|L 39|W 59|L 21|W 56|L 22|
## 82 MI | 14892710 / R: 1348 ->1346 | |B |B |W |W |B |W |W |
## 83 41 | KYLE WILLIAM MURPHY |3.0 |W 59|L 17|W 58|L 20|X |U |U |
## 84 MI | 15761443 / R: 1403P5 ->1341P9 | |B |W |B |W | | | |
## 85 42 | JARED GE |3.0 |L 12|L 50|L 57|D 60|D 61|W 64|W 56|
## 86 MI | 14462326 / R: 1332 ->1256 | |B |W |B |B |W |W |B |
## 87 43 | ROBERT GLEN VASEY |3.0 |L 21|L 23|L 24|W 63|W 59|L 46|W 55|
## 88 MI | 14101068 / R: 1283 ->1244 | |W |B |W |W |B |B |W |
## 89 44 | JUSTIN D SCHILLING |3.0 |B |L 14|L 32|W 53|L 39|L 24|W 59|
## 90 MI | 15323504 / R: 1199 ->1199 | | |W |B |B |W |B |W |
## 91 45 | DEREK YAN |3.0 |L 5|L 51|D 60|L 56|W 63|D 55|W 58|
## 92 MI | 15372807 / R: 1242 ->1191 | |W |B |W |B |W |B |W |
## 93 46 | JACOB ALEXANDER LAVALLEY |3.0 |W 35|L 7|L 27|L 50|W 64|W 43|L 23|
## 94 MI | 15490981 / R: 377P3 ->1076P10 | |B |W |B |W |B |W |W |
## 95 47 | ERIC WRIGHT |2.5 |L 18|W 24|L 21|W 61|L 8|D 51|L 25|
## 96 MI | 12533115 / R: 1362 ->1341 | |W |B |W |B |W |B |W |
## 97 48 | DANIEL KHAIN |2.5 |L 17|W 63|H |D 52|H |L 29|L 35|
## 98 MI | 14369165 / R: 1382 ->1335 | |B |W | |B | |W |B |
## 99 49 | MICHAEL J MARTIN |2.5 |L 26|L 20|D 63|D 64|W 58|H |U |
## 100 MI | 12531685 / R: 1291P12->1259P17 | |W |W |B |W |B | | |
## 101 50 | SHIVAM JHA |2.5 |L 29|W 42|L 33|W 46|H |L 31|L 30|
## 102 MI | 14773178 / R: 1056 ->1111 | |W |B |W |B | |B |W |
## 103 51 | TEJAS AYYAGARI |2.5 |L 27|W 45|L 36|W 57|L 32|D 47|L 33|
## 104 MI | 15205474 / R: 1011 ->1097 | |B |W |B |W |B |W |W |
## 105 52 | ETHAN GUO |2.5 |W 30|D 22|L 19|D 48|L 29|D 35|L 34|
## 106 MI | 14918803 / R: 935 ->1092 |N:4 |B |W |B |W |B |W |B |
## 107 53 | JOSE C YBARRA |2.0 |H |L 25|H |L 44|U |W 57|U |
## 108 MI | 12578849 / R: 1393 ->1359 | | |B | |W | |W | |
## 109 54 | LARRY HODGE |2.0 |L 14|L 39|L 61|B |L 15|L 59|W 64|
## 110 MI | 12836773 / R: 1270 ->1200 | |B |B |W | |W |B |W |
## 111 55 | ALEX KONG |2.0 |L 62|D 31|L 10|L 30|B |D 45|L 43|
## 112 MI | 15412571 / R: 1186 ->1163 | |W |B |W |B | |W |B |
## 113 56 | MARISA RICCI |2.0 |H |L 11|L 35|W 45|H |L 40|L 42|
## 114 MI | 14679887 / R: 1153 ->1140 | | |B |W |W | |B |W |
## 115 57 | MICHAEL LU |2.0 |L 7|L 36|W 42|L 51|L 35|L 53|B |
## 116 MI | 15113330 / R: 1092 ->1079 | |B |W |W |B |W |B | |
## 117 58 | VIRAJ MOHILE |2.0 |W 31|L 2|L 41|L 23|L 49|B |L 45|
## 118 MI | 14700365 / R: 917 -> 941 | |W |B |W |B |W | |B |
## 119 59 | SEAN M MC CORMICK |2.0 |L 41|B |L 9|L 40|L 43|W 54|L 44|
## 120 MI | 12841036 / R: 853 -> 878 | |W | |B |B |W |W |B |
## 121 60 | JULIA SHEN |1.5 |L 33|L 34|D 45|D 42|L 24|H |U |
## 122 MI | 14579262 / R: 967 -> 984 | |W |B |B |W |B | | |
## 123 61 | JEZZEL FARKAS |1.5 |L 32|L 3|W 54|L 47|D 42|L 30|L 37|
## 124 ON | 15771592 / R: 955P11-> 979P18 | |B |W |B |W |B |W |B |
## 125 62 | ASHWIN BALAJI |1.0 |W 55|U |U |U |U |U |U |
## 126 MI | 15219542 / R: 1530 ->1535 | |B | | | | | | |
## 127 63 | THOMAS JOSEPH HOSMER |1.0 |L 2|L 48|D 49|L 43|L 45|H |U |
## 128 MI | 15057092 / R: 1175 ->1125 | |W |B |W |B |B | | |
## 129 64 | BEN LI |1.0 |L 22|D 30|L 31|D 49|L 46|L 42|L 54|
## 130 MI | 15006561 / R: 1163 ->1112 | |B |W |W |B |W |B |B |
# Split the data into two data frames based on the structure and content of each row.
df_1 <- data.frame(df_clean[seq(from = 1, to = nrow(df_clean)-1, by = 2), ])
df_2 <- data.frame(df_clean[seq(from = 2, to = nrow(df_clean), by = 2), ])
# Display data frames.
df_1
## df_clean.seq.from...1..to...nrow.df_clean....1..by...2....
## 1 Pair | Player Name |Total|Round|Round|Round|Round|Round|Round|Round|
## 2 1 | GARY HUA |6.0 |W 39|W 21|W 18|W 14|W 7|D 12|D 4|
## 3 2 | DAKSHESH DARURI |6.0 |W 63|W 58|L 4|W 17|W 16|W 20|W 7|
## 4 3 | ADITYA BAJAJ |6.0 |L 8|W 61|W 25|W 21|W 11|W 13|W 12|
## 5 4 | PATRICK H SCHILLING |5.5 |W 23|D 28|W 2|W 26|D 5|W 19|D 1|
## 6 5 | HANSHI ZUO |5.5 |W 45|W 37|D 12|D 13|D 4|W 14|W 17|
## 7 6 | HANSEN SONG |5.0 |W 34|D 29|L 11|W 35|D 10|W 27|W 21|
## 8 7 | GARY DEE SWATHELL |5.0 |W 57|W 46|W 13|W 11|L 1|W 9|L 2|
## 9 8 | EZEKIEL HOUGHTON |5.0 |W 3|W 32|L 14|L 9|W 47|W 28|W 19|
## 10 9 | STEFANO LEE |5.0 |W 25|L 18|W 59|W 8|W 26|L 7|W 20|
## 11 10 | ANVIT RAO |5.0 |D 16|L 19|W 55|W 31|D 6|W 25|W 18|
## 12 11 | CAMERON WILLIAM MC LEMAN |4.5 |D 38|W 56|W 6|L 7|L 3|W 34|W 26|
## 13 12 | KENNETH J TACK |4.5 |W 42|W 33|D 5|W 38|H |D 1|L 3|
## 14 13 | TORRANCE HENRY JR |4.5 |W 36|W 27|L 7|D 5|W 33|L 3|W 32|
## 15 14 | BRADLEY SHAW |4.5 |W 54|W 44|W 8|L 1|D 27|L 5|W 31|
## 16 15 | ZACHARY JAMES HOUGHTON |4.5 |D 19|L 16|W 30|L 22|W 54|W 33|W 38|
## 17 16 | MIKE NIKITIN |4.0 |D 10|W 15|H |W 39|L 2|W 36|U |
## 18 17 | RONALD GRZEGORCZYK |4.0 |W 48|W 41|L 26|L 2|W 23|W 22|L 5|
## 19 18 | DAVID SUNDEEN |4.0 |W 47|W 9|L 1|W 32|L 19|W 38|L 10|
## 20 19 | DIPANKAR ROY |4.0 |D 15|W 10|W 52|D 28|W 18|L 4|L 8|
## 21 20 | JASON ZHENG |4.0 |L 40|W 49|W 23|W 41|W 28|L 2|L 9|
## 22 21 | DINH DANG BUI |4.0 |W 43|L 1|W 47|L 3|W 40|W 39|L 6|
## 23 22 | EUGENE L MCCLURE |4.0 |W 64|D 52|L 28|W 15|H |L 17|W 40|
## 24 23 | ALAN BUI |4.0 |L 4|W 43|L 20|W 58|L 17|W 37|W 46|
## 25 24 | MICHAEL R ALDRICH |4.0 |L 28|L 47|W 43|L 25|W 60|W 44|W 39|
## 26 25 | LOREN SCHWIEBERT |3.5 |L 9|W 53|L 3|W 24|D 34|L 10|W 47|
## 27 26 | MAX ZHU |3.5 |W 49|W 40|W 17|L 4|L 9|D 32|L 11|
## 28 27 | GAURAV GIDWANI |3.5 |W 51|L 13|W 46|W 37|D 14|L 6|U |
## 29 28 | SOFIA ADINA STANESCU-BELLU |3.5 |W 24|D 4|W 22|D 19|L 20|L 8|D 36|
## 30 29 | CHIEDOZIE OKORIE |3.5 |W 50|D 6|L 38|L 34|W 52|W 48|U |
## 31 30 | GEORGE AVERY JONES |3.5 |L 52|D 64|L 15|W 55|L 31|W 61|W 50|
## 32 31 | RISHI SHETTY |3.5 |L 58|D 55|W 64|L 10|W 30|W 50|L 14|
## 33 32 | JOSHUA PHILIP MATHEWS |3.5 |W 61|L 8|W 44|L 18|W 51|D 26|L 13|
## 34 33 | JADE GE |3.5 |W 60|L 12|W 50|D 36|L 13|L 15|W 51|
## 35 34 | MICHAEL JEFFERY THOMAS |3.5 |L 6|W 60|L 37|W 29|D 25|L 11|W 52|
## 36 35 | JOSHUA DAVID LEE |3.5 |L 46|L 38|W 56|L 6|W 57|D 52|W 48|
## 37 36 | SIDDHARTH JHA |3.5 |L 13|W 57|W 51|D 33|H |L 16|D 28|
## 38 37 | AMIYATOSH PWNANANDAM |3.5 |B |L 5|W 34|L 27|H |L 23|W 61|
## 39 38 | BRIAN LIU |3.0 |D 11|W 35|W 29|L 12|H |L 18|L 15|
## 40 39 | JOEL R HENDON |3.0 |L 1|W 54|W 40|L 16|W 44|L 21|L 24|
## 41 40 | FOREST ZHANG |3.0 |W 20|L 26|L 39|W 59|L 21|W 56|L 22|
## 42 41 | KYLE WILLIAM MURPHY |3.0 |W 59|L 17|W 58|L 20|X |U |U |
## 43 42 | JARED GE |3.0 |L 12|L 50|L 57|D 60|D 61|W 64|W 56|
## 44 43 | ROBERT GLEN VASEY |3.0 |L 21|L 23|L 24|W 63|W 59|L 46|W 55|
## 45 44 | JUSTIN D SCHILLING |3.0 |B |L 14|L 32|W 53|L 39|L 24|W 59|
## 46 45 | DEREK YAN |3.0 |L 5|L 51|D 60|L 56|W 63|D 55|W 58|
## 47 46 | JACOB ALEXANDER LAVALLEY |3.0 |W 35|L 7|L 27|L 50|W 64|W 43|L 23|
## 48 47 | ERIC WRIGHT |2.5 |L 18|W 24|L 21|W 61|L 8|D 51|L 25|
## 49 48 | DANIEL KHAIN |2.5 |L 17|W 63|H |D 52|H |L 29|L 35|
## 50 49 | MICHAEL J MARTIN |2.5 |L 26|L 20|D 63|D 64|W 58|H |U |
## 51 50 | SHIVAM JHA |2.5 |L 29|W 42|L 33|W 46|H |L 31|L 30|
## 52 51 | TEJAS AYYAGARI |2.5 |L 27|W 45|L 36|W 57|L 32|D 47|L 33|
## 53 52 | ETHAN GUO |2.5 |W 30|D 22|L 19|D 48|L 29|D 35|L 34|
## 54 53 | JOSE C YBARRA |2.0 |H |L 25|H |L 44|U |W 57|U |
## 55 54 | LARRY HODGE |2.0 |L 14|L 39|L 61|B |L 15|L 59|W 64|
## 56 55 | ALEX KONG |2.0 |L 62|D 31|L 10|L 30|B |D 45|L 43|
## 57 56 | MARISA RICCI |2.0 |H |L 11|L 35|W 45|H |L 40|L 42|
## 58 57 | MICHAEL LU |2.0 |L 7|L 36|W 42|L 51|L 35|L 53|B |
## 59 58 | VIRAJ MOHILE |2.0 |W 31|L 2|L 41|L 23|L 49|B |L 45|
## 60 59 | SEAN M MC CORMICK |2.0 |L 41|B |L 9|L 40|L 43|W 54|L 44|
## 61 60 | JULIA SHEN |1.5 |L 33|L 34|D 45|D 42|L 24|H |U |
## 62 61 | JEZZEL FARKAS |1.5 |L 32|L 3|W 54|L 47|D 42|L 30|L 37|
## 63 62 | ASHWIN BALAJI |1.0 |W 55|U |U |U |U |U |U |
## 64 63 | THOMAS JOSEPH HOSMER |1.0 |L 2|L 48|D 49|L 43|L 45|H |U |
## 65 64 | BEN LI |1.0 |L 22|D 30|L 31|D 49|L 46|L 42|L 54|
df_2
## df_clean.seq.from...2..to...nrow.df_clean...by...2....
## 1 Num | USCF ID / Rtg (Pre->Post) | Pts | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
## 2 ON | 15445895 / R: 1794 ->1817 |N:2 |W |B |W |B |W |B |W |
## 3 MI | 14598900 / R: 1553 ->1663 |N:2 |B |W |B |W |B |W |B |
## 4 MI | 14959604 / R: 1384 ->1640 |N:2 |W |B |W |B |W |B |W |
## 5 MI | 12616049 / R: 1716 ->1744 |N:2 |W |B |W |B |W |B |B |
## 6 MI | 14601533 / R: 1655 ->1690 |N:2 |B |W |B |W |B |W |B |
## 7 OH | 15055204 / R: 1686 ->1687 |N:3 |W |B |W |B |B |W |B |
## 8 MI | 11146376 / R: 1649 ->1673 |N:3 |W |B |W |B |B |W |W |
## 9 MI | 15142253 / R: 1641P17->1657P24 |N:3 |B |W |B |W |B |W |W |
## 10 ON | 14954524 / R: 1411 ->1564 |N:2 |W |B |W |B |W |B |B |
## 11 MI | 14150362 / R: 1365 ->1544 |N:3 |W |W |B |B |W |B |W |
## 12 MI | 12581589 / R: 1712 ->1696 |N:3 |B |W |B |W |B |W |B |
## 13 MI | 12681257 / R: 1663 ->1670 |N:3 |W |B |W |B | |W |B |
## 14 MI | 15082995 / R: 1666 ->1662 |N:3 |B |W |B |B |W |W |B |
## 15 MI | 10131499 / R: 1610 ->1618 |N:3 |W |B |W |W |B |B |W |
## 16 MI | 15619130 / R: 1220P13->1416P20 |N:3 |B |B |W |W |B |B |W |
## 17 MI | 10295068 / R: 1604 ->1613 |N:3 |B |W | |B |W |B | |
## 18 MI | 10297702 / R: 1629 ->1610 |N:3 |W |B |W |B |W |B |W |
## 19 MI | 11342094 / R: 1600 ->1600 |N:3 |B |W |B |W |B |W |B |
## 20 MI | 14862333 / R: 1564 ->1570 |N:3 |W |B |W |B |W |W |B |
## 21 MI | 14529060 / R: 1595 ->1569 |N:4 |W |B |W |B |W |B |W |
## 22 ON | 15495066 / R: 1563P22->1562 |N:3 |B |W |B |W |W |B |W |
## 23 MI | 12405534 / R: 1555 ->1529 |N:4 |W |B |W |B | |W |B |
## 24 ON | 15030142 / R: 1363 ->1371 | |B |W |B |W |B |W |B |
## 25 MI | 13469010 / R: 1229 ->1300 |N:4 |B |W |B |B |W |W |B |
## 26 MI | 12486656 / R: 1745 ->1681 |N:4 |B |W |B |W |B |W |B |
## 27 ON | 15131520 / R: 1579 ->1564 |N:4 |B |W |B |W |B |W |W |
## 28 MI | 14476567 / R: 1552 ->1539 |N:4 |W |B |W |B |W |B | |
## 29 MI | 14882954 / R: 1507 ->1513 |N:3 |W |W |B |W |B |B |W |
## 30 MI | 15323285 / R: 1602P6 ->1508P12 |N:4 |B |W |B |W |W |B | |
## 31 ON | 12577178 / R: 1522 ->1444 | |W |B |B |W |W |B |B |
## 32 MI | 15131618 / R: 1494 ->1444 | |B |W |B |W |B |W |B |
## 33 ON | 14073750 / R: 1441 ->1433 |N:4 |W |B |W |B |W |B |W |
## 34 MI | 14691842 / R: 1449 ->1421 | |B |W |B |W |B |W |B |
## 35 MI | 15051807 / R: 1399 ->1400 | |B |W |B |B |W |B |W |
## 36 MI | 14601397 / R: 1438 ->1392 | |W |W |B |W |B |B |W |
## 37 MI | 14773163 / R: 1355 ->1367 |N:4 |W |B |W |B | |W |B |
## 38 MI | 15489571 / R: 980P12->1077P17 | | |B |W |W | |B |W |
## 39 MI | 15108523 / R: 1423 ->1439 |N:4 |W |B |W |W | |B |B |
## 40 MI | 12923035 / R: 1436P23->1413 |N:4 |B |W |B |W |B |W |W |
## 41 MI | 14892710 / R: 1348 ->1346 | |B |B |W |W |B |W |W |
## 42 MI | 15761443 / R: 1403P5 ->1341P9 | |B |W |B |W | | | |
## 43 MI | 14462326 / R: 1332 ->1256 | |B |W |B |B |W |W |B |
## 44 MI | 14101068 / R: 1283 ->1244 | |W |B |W |W |B |B |W |
## 45 MI | 15323504 / R: 1199 ->1199 | | |W |B |B |W |B |W |
## 46 MI | 15372807 / R: 1242 ->1191 | |W |B |W |B |W |B |W |
## 47 MI | 15490981 / R: 377P3 ->1076P10 | |B |W |B |W |B |W |W |
## 48 MI | 12533115 / R: 1362 ->1341 | |W |B |W |B |W |B |W |
## 49 MI | 14369165 / R: 1382 ->1335 | |B |W | |B | |W |B |
## 50 MI | 12531685 / R: 1291P12->1259P17 | |W |W |B |W |B | | |
## 51 MI | 14773178 / R: 1056 ->1111 | |W |B |W |B | |B |W |
## 52 MI | 15205474 / R: 1011 ->1097 | |B |W |B |W |B |W |W |
## 53 MI | 14918803 / R: 935 ->1092 |N:4 |B |W |B |W |B |W |B |
## 54 MI | 12578849 / R: 1393 ->1359 | | |B | |W | |W | |
## 55 MI | 12836773 / R: 1270 ->1200 | |B |B |W | |W |B |W |
## 56 MI | 15412571 / R: 1186 ->1163 | |W |B |W |B | |W |B |
## 57 MI | 14679887 / R: 1153 ->1140 | | |B |W |W | |B |W |
## 58 MI | 15113330 / R: 1092 ->1079 | |B |W |W |B |W |B | |
## 59 MI | 14700365 / R: 917 -> 941 | |W |B |W |B |W | |B |
## 60 MI | 12841036 / R: 853 -> 878 | |W | |B |B |W |W |B |
## 61 MI | 14579262 / R: 967 -> 984 | |W |B |B |W |B | | |
## 62 ON | 15771592 / R: 955P11-> 979P18 | |B |W |B |W |B |W |B |
## 63 MI | 15219542 / R: 1530 ->1535 | |B | | | | | | |
## 64 MI | 15057092 / R: 1175 ->1125 | |W |B |W |B |B | | |
## 65 MI | 15006561 / R: 1163 ->1112 | |B |W |W |B |W |B |B |
#Set column names
colnames(df_1) <- c(df_1[1,])
colnames(df_2) <- c(df_2[1,])
columns_names_df1 <- colnames(df_1)
columns_names_df2 <- colnames(df_2)
# Split each data frame into columns using "|" as the delimiter.
df1_split = data.frame(separate_wider_delim(df_1, cols = columns_names_df1, delim = '|',
names = c('Player #','Name','Total','R1','R2','R3','R4','R5','R6','R7','R8')))
## Warning: Using an external vector in selections was deprecated in tidyselect 1.1.0.
## ℹ Please use `all_of()` or `any_of()` instead.
## # Was:
## data %>% select(columns_names_df1)
##
## # Now:
## data %>% select(all_of(columns_names_df1))
##
## See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
df2_split = data.frame(separate_wider_delim(df_2, cols = columns_names_df2, delim = '|',
names = c('State','Ratings','unknown','R1_result','R2_result',
'R3_result','R4_result','R5_result','R6_result',
'R7_result','R8_result')))
## Warning: Using an external vector in selections was deprecated in tidyselect 1.1.0.
## ℹ Please use `all_of()` or `any_of()` instead.
## # Was:
## data %>% select(columns_names_df2)
##
## # Now:
## data %>% select(all_of(columns_names_df2))
##
## See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# Drop duplicate header row and unneeded columns are dropped each data frame.
df1_split_drop_header <- data.frame(df1_split[-1,])
df2_split_drop_header <- data.frame(df2_split[-1,])
df1_split_drop_columns <- data.frame(df1_split_drop_header[,-c(1,11)])
df2_split_drop_columns <- data.frame(df2_split_drop_header[,-c(3,4,5,6,7,8,9,10,11)])
df1_split_drop_columns
## Name Total R1 R2 R3 R4 R5 R6
## 2 GARY HUA 6.0 W 39 W 21 W 18 W 14 W 7 D 12
## 3 DAKSHESH DARURI 6.0 W 63 W 58 L 4 W 17 W 16 W 20
## 4 ADITYA BAJAJ 6.0 L 8 W 61 W 25 W 21 W 11 W 13
## 5 PATRICK H SCHILLING 5.5 W 23 D 28 W 2 W 26 D 5 W 19
## 6 HANSHI ZUO 5.5 W 45 W 37 D 12 D 13 D 4 W 14
## 7 HANSEN SONG 5.0 W 34 D 29 L 11 W 35 D 10 W 27
## 8 GARY DEE SWATHELL 5.0 W 57 W 46 W 13 W 11 L 1 W 9
## 9 EZEKIEL HOUGHTON 5.0 W 3 W 32 L 14 L 9 W 47 W 28
## 10 STEFANO LEE 5.0 W 25 L 18 W 59 W 8 W 26 L 7
## 11 ANVIT RAO 5.0 D 16 L 19 W 55 W 31 D 6 W 25
## 12 CAMERON WILLIAM MC LEMAN 4.5 D 38 W 56 W 6 L 7 L 3 W 34
## 13 KENNETH J TACK 4.5 W 42 W 33 D 5 W 38 H D 1
## 14 TORRANCE HENRY JR 4.5 W 36 W 27 L 7 D 5 W 33 L 3
## 15 BRADLEY SHAW 4.5 W 54 W 44 W 8 L 1 D 27 L 5
## 16 ZACHARY JAMES HOUGHTON 4.5 D 19 L 16 W 30 L 22 W 54 W 33
## 17 MIKE NIKITIN 4.0 D 10 W 15 H W 39 L 2 W 36
## 18 RONALD GRZEGORCZYK 4.0 W 48 W 41 L 26 L 2 W 23 W 22
## 19 DAVID SUNDEEN 4.0 W 47 W 9 L 1 W 32 L 19 W 38
## 20 DIPANKAR ROY 4.0 D 15 W 10 W 52 D 28 W 18 L 4
## 21 JASON ZHENG 4.0 L 40 W 49 W 23 W 41 W 28 L 2
## 22 DINH DANG BUI 4.0 W 43 L 1 W 47 L 3 W 40 W 39
## 23 EUGENE L MCCLURE 4.0 W 64 D 52 L 28 W 15 H L 17
## 24 ALAN BUI 4.0 L 4 W 43 L 20 W 58 L 17 W 37
## 25 MICHAEL R ALDRICH 4.0 L 28 L 47 W 43 L 25 W 60 W 44
## 26 LOREN SCHWIEBERT 3.5 L 9 W 53 L 3 W 24 D 34 L 10
## 27 MAX ZHU 3.5 W 49 W 40 W 17 L 4 L 9 D 32
## 28 GAURAV GIDWANI 3.5 W 51 L 13 W 46 W 37 D 14 L 6
## 29 SOFIA ADINA STANESCU-BELLU 3.5 W 24 D 4 W 22 D 19 L 20 L 8
## 30 CHIEDOZIE OKORIE 3.5 W 50 D 6 L 38 L 34 W 52 W 48
## 31 GEORGE AVERY JONES 3.5 L 52 D 64 L 15 W 55 L 31 W 61
## 32 RISHI SHETTY 3.5 L 58 D 55 W 64 L 10 W 30 W 50
## 33 JOSHUA PHILIP MATHEWS 3.5 W 61 L 8 W 44 L 18 W 51 D 26
## 34 JADE GE 3.5 W 60 L 12 W 50 D 36 L 13 L 15
## 35 MICHAEL JEFFERY THOMAS 3.5 L 6 W 60 L 37 W 29 D 25 L 11
## 36 JOSHUA DAVID LEE 3.5 L 46 L 38 W 56 L 6 W 57 D 52
## 37 SIDDHARTH JHA 3.5 L 13 W 57 W 51 D 33 H L 16
## 38 AMIYATOSH PWNANANDAM 3.5 B L 5 W 34 L 27 H L 23
## 39 BRIAN LIU 3.0 D 11 W 35 W 29 L 12 H L 18
## 40 JOEL R HENDON 3.0 L 1 W 54 W 40 L 16 W 44 L 21
## 41 FOREST ZHANG 3.0 W 20 L 26 L 39 W 59 L 21 W 56
## 42 KYLE WILLIAM MURPHY 3.0 W 59 L 17 W 58 L 20 X U
## 43 JARED GE 3.0 L 12 L 50 L 57 D 60 D 61 W 64
## 44 ROBERT GLEN VASEY 3.0 L 21 L 23 L 24 W 63 W 59 L 46
## 45 JUSTIN D SCHILLING 3.0 B L 14 L 32 W 53 L 39 L 24
## 46 DEREK YAN 3.0 L 5 L 51 D 60 L 56 W 63 D 55
## 47 JACOB ALEXANDER LAVALLEY 3.0 W 35 L 7 L 27 L 50 W 64 W 43
## 48 ERIC WRIGHT 2.5 L 18 W 24 L 21 W 61 L 8 D 51
## 49 DANIEL KHAIN 2.5 L 17 W 63 H D 52 H L 29
## 50 MICHAEL J MARTIN 2.5 L 26 L 20 D 63 D 64 W 58 H
## 51 SHIVAM JHA 2.5 L 29 W 42 L 33 W 46 H L 31
## 52 TEJAS AYYAGARI 2.5 L 27 W 45 L 36 W 57 L 32 D 47
## 53 ETHAN GUO 2.5 W 30 D 22 L 19 D 48 L 29 D 35
## 54 JOSE C YBARRA 2.0 H L 25 H L 44 U W 57
## 55 LARRY HODGE 2.0 L 14 L 39 L 61 B L 15 L 59
## 56 ALEX KONG 2.0 L 62 D 31 L 10 L 30 B D 45
## 57 MARISA RICCI 2.0 H L 11 L 35 W 45 H L 40
## 58 MICHAEL LU 2.0 L 7 L 36 W 42 L 51 L 35 L 53
## 59 VIRAJ MOHILE 2.0 W 31 L 2 L 41 L 23 L 49 B
## 60 SEAN M MC CORMICK 2.0 L 41 B L 9 L 40 L 43 W 54
## 61 JULIA SHEN 1.5 L 33 L 34 D 45 D 42 L 24 H
## 62 JEZZEL FARKAS 1.5 L 32 L 3 W 54 L 47 D 42 L 30
## 63 ASHWIN BALAJI 1.0 W 55 U U U U U
## 64 THOMAS JOSEPH HOSMER 1.0 L 2 L 48 D 49 L 43 L 45 H
## 65 BEN LI 1.0 L 22 D 30 L 31 D 49 L 46 L 42
## R7
## 2 D 4
## 3 W 7
## 4 W 12
## 5 D 1
## 6 W 17
## 7 W 21
## 8 L 2
## 9 W 19
## 10 W 20
## 11 W 18
## 12 W 26
## 13 L 3
## 14 W 32
## 15 W 31
## 16 W 38
## 17 U
## 18 L 5
## 19 L 10
## 20 L 8
## 21 L 9
## 22 L 6
## 23 W 40
## 24 W 46
## 25 W 39
## 26 W 47
## 27 L 11
## 28 U
## 29 D 36
## 30 U
## 31 W 50
## 32 L 14
## 33 L 13
## 34 W 51
## 35 W 52
## 36 W 48
## 37 D 28
## 38 W 61
## 39 L 15
## 40 L 24
## 41 L 22
## 42 U
## 43 W 56
## 44 W 55
## 45 W 59
## 46 W 58
## 47 L 23
## 48 L 25
## 49 L 35
## 50 U
## 51 L 30
## 52 L 33
## 53 L 34
## 54 U
## 55 W 64
## 56 L 43
## 57 L 42
## 58 B
## 59 L 45
## 60 L 44
## 61 U
## 62 L 37
## 63 U
## 64 U
## 65 L 54
df2_split_drop_columns
## State Ratings
## 2 ON 15445895 / R: 1794 ->1817
## 3 MI 14598900 / R: 1553 ->1663
## 4 MI 14959604 / R: 1384 ->1640
## 5 MI 12616049 / R: 1716 ->1744
## 6 MI 14601533 / R: 1655 ->1690
## 7 OH 15055204 / R: 1686 ->1687
## 8 MI 11146376 / R: 1649 ->1673
## 9 MI 15142253 / R: 1641P17->1657P24
## 10 ON 14954524 / R: 1411 ->1564
## 11 MI 14150362 / R: 1365 ->1544
## 12 MI 12581589 / R: 1712 ->1696
## 13 MI 12681257 / R: 1663 ->1670
## 14 MI 15082995 / R: 1666 ->1662
## 15 MI 10131499 / R: 1610 ->1618
## 16 MI 15619130 / R: 1220P13->1416P20
## 17 MI 10295068 / R: 1604 ->1613
## 18 MI 10297702 / R: 1629 ->1610
## 19 MI 11342094 / R: 1600 ->1600
## 20 MI 14862333 / R: 1564 ->1570
## 21 MI 14529060 / R: 1595 ->1569
## 22 ON 15495066 / R: 1563P22->1562
## 23 MI 12405534 / R: 1555 ->1529
## 24 ON 15030142 / R: 1363 ->1371
## 25 MI 13469010 / R: 1229 ->1300
## 26 MI 12486656 / R: 1745 ->1681
## 27 ON 15131520 / R: 1579 ->1564
## 28 MI 14476567 / R: 1552 ->1539
## 29 MI 14882954 / R: 1507 ->1513
## 30 MI 15323285 / R: 1602P6 ->1508P12
## 31 ON 12577178 / R: 1522 ->1444
## 32 MI 15131618 / R: 1494 ->1444
## 33 ON 14073750 / R: 1441 ->1433
## 34 MI 14691842 / R: 1449 ->1421
## 35 MI 15051807 / R: 1399 ->1400
## 36 MI 14601397 / R: 1438 ->1392
## 37 MI 14773163 / R: 1355 ->1367
## 38 MI 15489571 / R: 980P12->1077P17
## 39 MI 15108523 / R: 1423 ->1439
## 40 MI 12923035 / R: 1436P23->1413
## 41 MI 14892710 / R: 1348 ->1346
## 42 MI 15761443 / R: 1403P5 ->1341P9
## 43 MI 14462326 / R: 1332 ->1256
## 44 MI 14101068 / R: 1283 ->1244
## 45 MI 15323504 / R: 1199 ->1199
## 46 MI 15372807 / R: 1242 ->1191
## 47 MI 15490981 / R: 377P3 ->1076P10
## 48 MI 12533115 / R: 1362 ->1341
## 49 MI 14369165 / R: 1382 ->1335
## 50 MI 12531685 / R: 1291P12->1259P17
## 51 MI 14773178 / R: 1056 ->1111
## 52 MI 15205474 / R: 1011 ->1097
## 53 MI 14918803 / R: 935 ->1092
## 54 MI 12578849 / R: 1393 ->1359
## 55 MI 12836773 / R: 1270 ->1200
## 56 MI 15412571 / R: 1186 ->1163
## 57 MI 14679887 / R: 1153 ->1140
## 58 MI 15113330 / R: 1092 ->1079
## 59 MI 14700365 / R: 917 -> 941
## 60 MI 12841036 / R: 853 -> 878
## 61 MI 14579262 / R: 967 -> 984
## 62 ON 15771592 / R: 955P11-> 979P18
## 63 MI 15219542 / R: 1530 ->1535
## 64 MI 15057092 / R: 1175 ->1125
## 65 MI 15006561 / R: 1163 ->1112
# Working with the data frame 2 data first, the pre-rating for each player is found using a regex. Next, the now-unneeded row with the player code, pre-rating, and post-rating is dropped from the data frame, which is then reindexed.
df2_split_drop_columns$PreRating <- str_match(df2_split_drop_columns$Ratings, '(?<=:\\s{1,2})\\d{1,4}')
df2_final <- data.frame(df2_split_drop_columns[,-c(2)])
rownames(df2_final) <- NULL
#Display dataframe
df2_final
## State PreRating
## 1 ON 1794
## 2 MI 1553
## 3 MI 1384
## 4 MI 1716
## 5 MI 1655
## 6 OH 1686
## 7 MI 1649
## 8 MI 1641
## 9 ON 1411
## 10 MI 1365
## 11 MI 1712
## 12 MI 1663
## 13 MI 1666
## 14 MI 1610
## 15 MI 1220
## 16 MI 1604
## 17 MI 1629
## 18 MI 1600
## 19 MI 1564
## 20 MI 1595
## 21 ON 1563
## 22 MI 1555
## 23 ON 1363
## 24 MI 1229
## 25 MI 1745
## 26 ON 1579
## 27 MI 1552
## 28 MI 1507
## 29 MI 1602
## 30 ON 1522
## 31 MI 1494
## 32 ON 1441
## 33 MI 1449
## 34 MI 1399
## 35 MI 1438
## 36 MI 1355
## 37 MI 980
## 38 MI 1423
## 39 MI 1436
## 40 MI 1348
## 41 MI 1403
## 42 MI 1332
## 43 MI 1283
## 44 MI 1199
## 45 MI 1242
## 46 MI 377
## 47 MI 1362
## 48 MI 1382
## 49 MI 1291
## 50 MI 1056
## 51 MI 1011
## 52 MI 935
## 53 MI 1393
## 54 MI 1270
## 55 MI 1186
## 56 MI 1153
## 57 MI 1092
## 58 MI 917
## 59 MI 853
## 60 MI 967
## 61 ON 955
## 62 MI 1530
## 63 MI 1175
## 64 MI 1163
# For data frame 1, the opponent rank for each player in each round is pulled used a regex. The opponent ranks are then recapitulated in new columns.
df1_split_drop_columns$R1opp <- str_match(df1_split_drop_columns$R1, '\\d{1,2}')
df1_split_drop_columns$R2opp <- str_match(df1_split_drop_columns$R2, '\\d{1,2}')
df1_split_drop_columns$R3opp <- str_match(df1_split_drop_columns$R3, '\\d{1,2}')
df1_split_drop_columns$R4opp <- str_match(df1_split_drop_columns$R4, '\\d{1,2}')
df1_split_drop_columns$R5opp <- str_match(df1_split_drop_columns$R5, '\\d{1,2}')
df1_split_drop_columns$R6opp <- str_match(df1_split_drop_columns$R6, '\\d{1,2}')
df1_split_drop_columns$R7opp <- str_match(df1_split_drop_columns$R7, '\\d{1,2}')
df1_final <- data.frame(df1_split_drop_columns[,-c(3,4,5,6,7,8,9)])
rownames(df1_final) <- NULL
#Display dataframe
df1_final
## Name Total R1opp R2opp R3opp R4opp R5opp R6opp
## 1 GARY HUA 6.0 39 21 18 14 7 12
## 2 DAKSHESH DARURI 6.0 63 58 4 17 16 20
## 3 ADITYA BAJAJ 6.0 8 61 25 21 11 13
## 4 PATRICK H SCHILLING 5.5 23 28 2 26 5 19
## 5 HANSHI ZUO 5.5 45 37 12 13 4 14
## 6 HANSEN SONG 5.0 34 29 11 35 10 27
## 7 GARY DEE SWATHELL 5.0 57 46 13 11 1 9
## 8 EZEKIEL HOUGHTON 5.0 3 32 14 9 47 28
## 9 STEFANO LEE 5.0 25 18 59 8 26 7
## 10 ANVIT RAO 5.0 16 19 55 31 6 25
## 11 CAMERON WILLIAM MC LEMAN 4.5 38 56 6 7 3 34
## 12 KENNETH J TACK 4.5 42 33 5 38 <NA> 1
## 13 TORRANCE HENRY JR 4.5 36 27 7 5 33 3
## 14 BRADLEY SHAW 4.5 54 44 8 1 27 5
## 15 ZACHARY JAMES HOUGHTON 4.5 19 16 30 22 54 33
## 16 MIKE NIKITIN 4.0 10 15 <NA> 39 2 36
## 17 RONALD GRZEGORCZYK 4.0 48 41 26 2 23 22
## 18 DAVID SUNDEEN 4.0 47 9 1 32 19 38
## 19 DIPANKAR ROY 4.0 15 10 52 28 18 4
## 20 JASON ZHENG 4.0 40 49 23 41 28 2
## 21 DINH DANG BUI 4.0 43 1 47 3 40 39
## 22 EUGENE L MCCLURE 4.0 64 52 28 15 <NA> 17
## 23 ALAN BUI 4.0 4 43 20 58 17 37
## 24 MICHAEL R ALDRICH 4.0 28 47 43 25 60 44
## 25 LOREN SCHWIEBERT 3.5 9 53 3 24 34 10
## 26 MAX ZHU 3.5 49 40 17 4 9 32
## 27 GAURAV GIDWANI 3.5 51 13 46 37 14 6
## 28 SOFIA ADINA STANESCU-BELLU 3.5 24 4 22 19 20 8
## 29 CHIEDOZIE OKORIE 3.5 50 6 38 34 52 48
## 30 GEORGE AVERY JONES 3.5 52 64 15 55 31 61
## 31 RISHI SHETTY 3.5 58 55 64 10 30 50
## 32 JOSHUA PHILIP MATHEWS 3.5 61 8 44 18 51 26
## 33 JADE GE 3.5 60 12 50 36 13 15
## 34 MICHAEL JEFFERY THOMAS 3.5 6 60 37 29 25 11
## 35 JOSHUA DAVID LEE 3.5 46 38 56 6 57 52
## 36 SIDDHARTH JHA 3.5 13 57 51 33 <NA> 16
## 37 AMIYATOSH PWNANANDAM 3.5 <NA> 5 34 27 <NA> 23
## 38 BRIAN LIU 3.0 11 35 29 12 <NA> 18
## 39 JOEL R HENDON 3.0 1 54 40 16 44 21
## 40 FOREST ZHANG 3.0 20 26 39 59 21 56
## 41 KYLE WILLIAM MURPHY 3.0 59 17 58 20 <NA> <NA>
## 42 JARED GE 3.0 12 50 57 60 61 64
## 43 ROBERT GLEN VASEY 3.0 21 23 24 63 59 46
## 44 JUSTIN D SCHILLING 3.0 <NA> 14 32 53 39 24
## 45 DEREK YAN 3.0 5 51 60 56 63 55
## 46 JACOB ALEXANDER LAVALLEY 3.0 35 7 27 50 64 43
## 47 ERIC WRIGHT 2.5 18 24 21 61 8 51
## 48 DANIEL KHAIN 2.5 17 63 <NA> 52 <NA> 29
## 49 MICHAEL J MARTIN 2.5 26 20 63 64 58 <NA>
## 50 SHIVAM JHA 2.5 29 42 33 46 <NA> 31
## 51 TEJAS AYYAGARI 2.5 27 45 36 57 32 47
## 52 ETHAN GUO 2.5 30 22 19 48 29 35
## 53 JOSE C YBARRA 2.0 <NA> 25 <NA> 44 <NA> 57
## 54 LARRY HODGE 2.0 14 39 61 <NA> 15 59
## 55 ALEX KONG 2.0 62 31 10 30 <NA> 45
## 56 MARISA RICCI 2.0 <NA> 11 35 45 <NA> 40
## 57 MICHAEL LU 2.0 7 36 42 51 35 53
## 58 VIRAJ MOHILE 2.0 31 2 41 23 49 <NA>
## 59 SEAN M MC CORMICK 2.0 41 <NA> 9 40 43 54
## 60 JULIA SHEN 1.5 33 34 45 42 24 <NA>
## 61 JEZZEL FARKAS 1.5 32 3 54 47 42 30
## 62 ASHWIN BALAJI 1.0 55 <NA> <NA> <NA> <NA> <NA>
## 63 THOMAS JOSEPH HOSMER 1.0 2 48 49 43 45 <NA>
## 64 BEN LI 1.0 22 30 31 49 46 42
## R7opp
## 1 4
## 2 7
## 3 12
## 4 1
## 5 17
## 6 21
## 7 2
## 8 19
## 9 20
## 10 18
## 11 26
## 12 3
## 13 32
## 14 31
## 15 38
## 16 <NA>
## 17 5
## 18 10
## 19 8
## 20 9
## 21 6
## 22 40
## 23 46
## 24 39
## 25 47
## 26 11
## 27 <NA>
## 28 36
## 29 <NA>
## 30 50
## 31 14
## 32 13
## 33 51
## 34 52
## 35 48
## 36 28
## 37 61
## 38 15
## 39 24
## 40 22
## 41 <NA>
## 42 56
## 43 55
## 44 59
## 45 58
## 46 23
## 47 25
## 48 35
## 49 <NA>
## 50 30
## 51 33
## 52 34
## 53 <NA>
## 54 64
## 55 43
## 56 42
## 57 <NA>
## 58 45
## 59 44
## 60 <NA>
## 61 37
## 62 <NA>
## 63 <NA>
## 64 54
# Re-merge the two data frames into a single data frame. Additionally, the column 1 (Row.names) is renamed to Rank, converted to a numeric, then the data is reordered so the rank is equal to the index after re-indexing.
combined_df <- merge(df1_final, df2_final, by = 'row.names', all = TRUE)
#Display dataframe
combined_df
## Row.names Name Total R1opp R2opp R3opp R4opp
## 1 1 GARY HUA 6.0 39 21 18 14
## 2 10 ANVIT RAO 5.0 16 19 55 31
## 3 11 CAMERON WILLIAM MC LEMAN 4.5 38 56 6 7
## 4 12 KENNETH J TACK 4.5 42 33 5 38
## 5 13 TORRANCE HENRY JR 4.5 36 27 7 5
## 6 14 BRADLEY SHAW 4.5 54 44 8 1
## 7 15 ZACHARY JAMES HOUGHTON 4.5 19 16 30 22
## 8 16 MIKE NIKITIN 4.0 10 15 <NA> 39
## 9 17 RONALD GRZEGORCZYK 4.0 48 41 26 2
## 10 18 DAVID SUNDEEN 4.0 47 9 1 32
## 11 19 DIPANKAR ROY 4.0 15 10 52 28
## 12 2 DAKSHESH DARURI 6.0 63 58 4 17
## 13 20 JASON ZHENG 4.0 40 49 23 41
## 14 21 DINH DANG BUI 4.0 43 1 47 3
## 15 22 EUGENE L MCCLURE 4.0 64 52 28 15
## 16 23 ALAN BUI 4.0 4 43 20 58
## 17 24 MICHAEL R ALDRICH 4.0 28 47 43 25
## 18 25 LOREN SCHWIEBERT 3.5 9 53 3 24
## 19 26 MAX ZHU 3.5 49 40 17 4
## 20 27 GAURAV GIDWANI 3.5 51 13 46 37
## 21 28 SOFIA ADINA STANESCU-BELLU 3.5 24 4 22 19
## 22 29 CHIEDOZIE OKORIE 3.5 50 6 38 34
## 23 3 ADITYA BAJAJ 6.0 8 61 25 21
## 24 30 GEORGE AVERY JONES 3.5 52 64 15 55
## 25 31 RISHI SHETTY 3.5 58 55 64 10
## 26 32 JOSHUA PHILIP MATHEWS 3.5 61 8 44 18
## 27 33 JADE GE 3.5 60 12 50 36
## 28 34 MICHAEL JEFFERY THOMAS 3.5 6 60 37 29
## 29 35 JOSHUA DAVID LEE 3.5 46 38 56 6
## 30 36 SIDDHARTH JHA 3.5 13 57 51 33
## 31 37 AMIYATOSH PWNANANDAM 3.5 <NA> 5 34 27
## 32 38 BRIAN LIU 3.0 11 35 29 12
## 33 39 JOEL R HENDON 3.0 1 54 40 16
## 34 4 PATRICK H SCHILLING 5.5 23 28 2 26
## 35 40 FOREST ZHANG 3.0 20 26 39 59
## 36 41 KYLE WILLIAM MURPHY 3.0 59 17 58 20
## 37 42 JARED GE 3.0 12 50 57 60
## 38 43 ROBERT GLEN VASEY 3.0 21 23 24 63
## 39 44 JUSTIN D SCHILLING 3.0 <NA> 14 32 53
## 40 45 DEREK YAN 3.0 5 51 60 56
## 41 46 JACOB ALEXANDER LAVALLEY 3.0 35 7 27 50
## 42 47 ERIC WRIGHT 2.5 18 24 21 61
## 43 48 DANIEL KHAIN 2.5 17 63 <NA> 52
## 44 49 MICHAEL J MARTIN 2.5 26 20 63 64
## 45 5 HANSHI ZUO 5.5 45 37 12 13
## 46 50 SHIVAM JHA 2.5 29 42 33 46
## 47 51 TEJAS AYYAGARI 2.5 27 45 36 57
## 48 52 ETHAN GUO 2.5 30 22 19 48
## 49 53 JOSE C YBARRA 2.0 <NA> 25 <NA> 44
## 50 54 LARRY HODGE 2.0 14 39 61 <NA>
## 51 55 ALEX KONG 2.0 62 31 10 30
## 52 56 MARISA RICCI 2.0 <NA> 11 35 45
## 53 57 MICHAEL LU 2.0 7 36 42 51
## 54 58 VIRAJ MOHILE 2.0 31 2 41 23
## 55 59 SEAN M MC CORMICK 2.0 41 <NA> 9 40
## 56 6 HANSEN SONG 5.0 34 29 11 35
## 57 60 JULIA SHEN 1.5 33 34 45 42
## 58 61 JEZZEL FARKAS 1.5 32 3 54 47
## 59 62 ASHWIN BALAJI 1.0 55 <NA> <NA> <NA>
## 60 63 THOMAS JOSEPH HOSMER 1.0 2 48 49 43
## 61 64 BEN LI 1.0 22 30 31 49
## 62 7 GARY DEE SWATHELL 5.0 57 46 13 11
## 63 8 EZEKIEL HOUGHTON 5.0 3 32 14 9
## 64 9 STEFANO LEE 5.0 25 18 59 8
## R5opp R6opp R7opp State PreRating
## 1 7 12 4 ON 1794
## 2 6 25 18 MI 1365
## 3 3 34 26 MI 1712
## 4 <NA> 1 3 MI 1663
## 5 33 3 32 MI 1666
## 6 27 5 31 MI 1610
## 7 54 33 38 MI 1220
## 8 2 36 <NA> MI 1604
## 9 23 22 5 MI 1629
## 10 19 38 10 MI 1600
## 11 18 4 8 MI 1564
## 12 16 20 7 MI 1553
## 13 28 2 9 MI 1595
## 14 40 39 6 ON 1563
## 15 <NA> 17 40 MI 1555
## 16 17 37 46 ON 1363
## 17 60 44 39 MI 1229
## 18 34 10 47 MI 1745
## 19 9 32 11 ON 1579
## 20 14 6 <NA> MI 1552
## 21 20 8 36 MI 1507
## 22 52 48 <NA> MI 1602
## 23 11 13 12 MI 1384
## 24 31 61 50 ON 1522
## 25 30 50 14 MI 1494
## 26 51 26 13 ON 1441
## 27 13 15 51 MI 1449
## 28 25 11 52 MI 1399
## 29 57 52 48 MI 1438
## 30 <NA> 16 28 MI 1355
## 31 <NA> 23 61 MI 980
## 32 <NA> 18 15 MI 1423
## 33 44 21 24 MI 1436
## 34 5 19 1 MI 1716
## 35 21 56 22 MI 1348
## 36 <NA> <NA> <NA> MI 1403
## 37 61 64 56 MI 1332
## 38 59 46 55 MI 1283
## 39 39 24 59 MI 1199
## 40 63 55 58 MI 1242
## 41 64 43 23 MI 377
## 42 8 51 25 MI 1362
## 43 <NA> 29 35 MI 1382
## 44 58 <NA> <NA> MI 1291
## 45 4 14 17 MI 1655
## 46 <NA> 31 30 MI 1056
## 47 32 47 33 MI 1011
## 48 29 35 34 MI 935
## 49 <NA> 57 <NA> MI 1393
## 50 15 59 64 MI 1270
## 51 <NA> 45 43 MI 1186
## 52 <NA> 40 42 MI 1153
## 53 35 53 <NA> MI 1092
## 54 49 <NA> 45 MI 917
## 55 43 54 44 MI 853
## 56 10 27 21 OH 1686
## 57 24 <NA> <NA> MI 967
## 58 42 30 37 ON 955
## 59 <NA> <NA> <NA> MI 1530
## 60 45 <NA> <NA> MI 1175
## 61 46 42 54 MI 1163
## 62 1 9 2 MI 1649
## 63 47 28 19 MI 1641
## 64 26 7 20 ON 1411
colnames(combined_df)[1] <- 'Rank'
combined_df$Rank <- as.numeric(as.character(combined_df$Rank))
new_data <- combined_df[order(combined_df$Rank),]
rownames(new_data) <- NULL
#Display dataframe
new_data
## Rank Name Total R1opp R2opp R3opp R4opp R5opp
## 1 1 GARY HUA 6.0 39 21 18 14 7
## 2 2 DAKSHESH DARURI 6.0 63 58 4 17 16
## 3 3 ADITYA BAJAJ 6.0 8 61 25 21 11
## 4 4 PATRICK H SCHILLING 5.5 23 28 2 26 5
## 5 5 HANSHI ZUO 5.5 45 37 12 13 4
## 6 6 HANSEN SONG 5.0 34 29 11 35 10
## 7 7 GARY DEE SWATHELL 5.0 57 46 13 11 1
## 8 8 EZEKIEL HOUGHTON 5.0 3 32 14 9 47
## 9 9 STEFANO LEE 5.0 25 18 59 8 26
## 10 10 ANVIT RAO 5.0 16 19 55 31 6
## 11 11 CAMERON WILLIAM MC LEMAN 4.5 38 56 6 7 3
## 12 12 KENNETH J TACK 4.5 42 33 5 38 <NA>
## 13 13 TORRANCE HENRY JR 4.5 36 27 7 5 33
## 14 14 BRADLEY SHAW 4.5 54 44 8 1 27
## 15 15 ZACHARY JAMES HOUGHTON 4.5 19 16 30 22 54
## 16 16 MIKE NIKITIN 4.0 10 15 <NA> 39 2
## 17 17 RONALD GRZEGORCZYK 4.0 48 41 26 2 23
## 18 18 DAVID SUNDEEN 4.0 47 9 1 32 19
## 19 19 DIPANKAR ROY 4.0 15 10 52 28 18
## 20 20 JASON ZHENG 4.0 40 49 23 41 28
## 21 21 DINH DANG BUI 4.0 43 1 47 3 40
## 22 22 EUGENE L MCCLURE 4.0 64 52 28 15 <NA>
## 23 23 ALAN BUI 4.0 4 43 20 58 17
## 24 24 MICHAEL R ALDRICH 4.0 28 47 43 25 60
## 25 25 LOREN SCHWIEBERT 3.5 9 53 3 24 34
## 26 26 MAX ZHU 3.5 49 40 17 4 9
## 27 27 GAURAV GIDWANI 3.5 51 13 46 37 14
## 28 28 SOFIA ADINA STANESCU-BELLU 3.5 24 4 22 19 20
## 29 29 CHIEDOZIE OKORIE 3.5 50 6 38 34 52
## 30 30 GEORGE AVERY JONES 3.5 52 64 15 55 31
## 31 31 RISHI SHETTY 3.5 58 55 64 10 30
## 32 32 JOSHUA PHILIP MATHEWS 3.5 61 8 44 18 51
## 33 33 JADE GE 3.5 60 12 50 36 13
## 34 34 MICHAEL JEFFERY THOMAS 3.5 6 60 37 29 25
## 35 35 JOSHUA DAVID LEE 3.5 46 38 56 6 57
## 36 36 SIDDHARTH JHA 3.5 13 57 51 33 <NA>
## 37 37 AMIYATOSH PWNANANDAM 3.5 <NA> 5 34 27 <NA>
## 38 38 BRIAN LIU 3.0 11 35 29 12 <NA>
## 39 39 JOEL R HENDON 3.0 1 54 40 16 44
## 40 40 FOREST ZHANG 3.0 20 26 39 59 21
## 41 41 KYLE WILLIAM MURPHY 3.0 59 17 58 20 <NA>
## 42 42 JARED GE 3.0 12 50 57 60 61
## 43 43 ROBERT GLEN VASEY 3.0 21 23 24 63 59
## 44 44 JUSTIN D SCHILLING 3.0 <NA> 14 32 53 39
## 45 45 DEREK YAN 3.0 5 51 60 56 63
## 46 46 JACOB ALEXANDER LAVALLEY 3.0 35 7 27 50 64
## 47 47 ERIC WRIGHT 2.5 18 24 21 61 8
## 48 48 DANIEL KHAIN 2.5 17 63 <NA> 52 <NA>
## 49 49 MICHAEL J MARTIN 2.5 26 20 63 64 58
## 50 50 SHIVAM JHA 2.5 29 42 33 46 <NA>
## 51 51 TEJAS AYYAGARI 2.5 27 45 36 57 32
## 52 52 ETHAN GUO 2.5 30 22 19 48 29
## 53 53 JOSE C YBARRA 2.0 <NA> 25 <NA> 44 <NA>
## 54 54 LARRY HODGE 2.0 14 39 61 <NA> 15
## 55 55 ALEX KONG 2.0 62 31 10 30 <NA>
## 56 56 MARISA RICCI 2.0 <NA> 11 35 45 <NA>
## 57 57 MICHAEL LU 2.0 7 36 42 51 35
## 58 58 VIRAJ MOHILE 2.0 31 2 41 23 49
## 59 59 SEAN M MC CORMICK 2.0 41 <NA> 9 40 43
## 60 60 JULIA SHEN 1.5 33 34 45 42 24
## 61 61 JEZZEL FARKAS 1.5 32 3 54 47 42
## 62 62 ASHWIN BALAJI 1.0 55 <NA> <NA> <NA> <NA>
## 63 63 THOMAS JOSEPH HOSMER 1.0 2 48 49 43 45
## 64 64 BEN LI 1.0 22 30 31 49 46
## R6opp R7opp State PreRating
## 1 12 4 ON 1794
## 2 20 7 MI 1553
## 3 13 12 MI 1384
## 4 19 1 MI 1716
## 5 14 17 MI 1655
## 6 27 21 OH 1686
## 7 9 2 MI 1649
## 8 28 19 MI 1641
## 9 7 20 ON 1411
## 10 25 18 MI 1365
## 11 34 26 MI 1712
## 12 1 3 MI 1663
## 13 3 32 MI 1666
## 14 5 31 MI 1610
## 15 33 38 MI 1220
## 16 36 <NA> MI 1604
## 17 22 5 MI 1629
## 18 38 10 MI 1600
## 19 4 8 MI 1564
## 20 2 9 MI 1595
## 21 39 6 ON 1563
## 22 17 40 MI 1555
## 23 37 46 ON 1363
## 24 44 39 MI 1229
## 25 10 47 MI 1745
## 26 32 11 ON 1579
## 27 6 <NA> MI 1552
## 28 8 36 MI 1507
## 29 48 <NA> MI 1602
## 30 61 50 ON 1522
## 31 50 14 MI 1494
## 32 26 13 ON 1441
## 33 15 51 MI 1449
## 34 11 52 MI 1399
## 35 52 48 MI 1438
## 36 16 28 MI 1355
## 37 23 61 MI 980
## 38 18 15 MI 1423
## 39 21 24 MI 1436
## 40 56 22 MI 1348
## 41 <NA> <NA> MI 1403
## 42 64 56 MI 1332
## 43 46 55 MI 1283
## 44 24 59 MI 1199
## 45 55 58 MI 1242
## 46 43 23 MI 377
## 47 51 25 MI 1362
## 48 29 35 MI 1382
## 49 <NA> <NA> MI 1291
## 50 31 30 MI 1056
## 51 47 33 MI 1011
## 52 35 34 MI 935
## 53 57 <NA> MI 1393
## 54 59 64 MI 1270
## 55 45 43 MI 1186
## 56 40 42 MI 1153
## 57 53 <NA> MI 1092
## 58 <NA> 45 MI 917
## 59 54 44 MI 853
## 60 <NA> <NA> MI 967
## 61 30 37 ON 955
## 62 <NA> <NA> MI 1530
## 63 <NA> <NA> MI 1175
## 64 42 54 MI 1163
#Generate vectors of each player's opponents rank in each round.
opp1 <- new_data$R1opp
opp2 <- new_data$R2opp
opp3 <- new_data$R3opp
opp4 <- new_data$R4opp
opp5 <- new_data$R5opp
opp6 <- new_data$R6opp
opp7 <- new_data$R7opp
#Lookup the pre-rating for each player's opponent using the rank of the opponent.
lookup_opp1 <- new_data[opp1, "PreRating"]
lookup_opp2 <- new_data[opp2, "PreRating"]
lookup_opp3 <- new_data[opp3, "PreRating"]
lookup_opp4 <- new_data[opp4, "PreRating"]
lookup_opp5 <- new_data[opp5, "PreRating"]
lookup_opp6 <- new_data[opp6, "PreRating"]
lookup_opp7 <- new_data[opp7, "PreRating"]
#Create new columns for the opponent pre-ratings from each round.
new_data$r1_opp_rating <- as.numeric(as.character(lookup_opp1))
new_data$r2_opp_rating <- as.numeric(as.character(lookup_opp2))
new_data$r3_opp_rating <- as.numeric(as.character(lookup_opp3))
new_data$r4_opp_rating <- as.numeric(as.character(lookup_opp4))
new_data$r5_opp_rating <- as.numeric(as.character(lookup_opp5))
new_data$r6_opp_rating <- as.numeric(as.character(lookup_opp6))
new_data$r7_opp_rating <- as.numeric(as.character(lookup_opp7))
#Calculate the mean pre-rating of the opponents of each player.
new_data$Mean_opponent_PreRating <- round(rowMeans(new_data[, 13:19], na.rm = TRUE), digits = 0)
#Drop unneeded columns.
nearly_final_df = data.frame(new_data[,-c(1,4,5,6,7,8,9,10,13,14,15,16,17,18,19)])
#Move the State column to the position dictacted in the Project instructions.
final_df <- relocate(nearly_final_df, State, .after = Name)
#Generate final csv file to local directory and display final dataframe.
write.csv(final_df,'c:/data/project1_Results.csv', row.names = FALSE)
kable(final_df)
| Name | State | Total | PreRating | Mean_opponent_PreRating |
|---|---|---|---|---|
| GARY HUA | ON | 6.0 | 1794 | 1605 |
| DAKSHESH DARURI | MI | 6.0 | 1553 | 1469 |
| ADITYA BAJAJ | MI | 6.0 | 1384 | 1564 |
| PATRICK H SCHILLING | MI | 5.5 | 1716 | 1574 |
| HANSHI ZUO | MI | 5.5 | 1655 | 1501 |
| HANSEN SONG | OH | 5.0 | 1686 | 1519 |
| GARY DEE SWATHELL | MI | 5.0 | 1649 | 1372 |
| EZEKIEL HOUGHTON | MI | 5.0 | 1641 | 1468 |
| STEFANO LEE | ON | 5.0 | 1411 | 1523 |
| ANVIT RAO | MI | 5.0 | 1365 | 1554 |
| CAMERON WILLIAM MC LEMAN | MI | 4.5 | 1712 | 1468 |
| KENNETH J TACK | MI | 4.5 | 1663 | 1506 |
| TORRANCE HENRY JR | MI | 4.5 | 1666 | 1498 |
| BRADLEY SHAW | MI | 4.5 | 1610 | 1515 |
| ZACHARY JAMES HOUGHTON | MI | 4.5 | 1220 | 1484 |
| MIKE NIKITIN | MI | 4.0 | 1604 | 1386 |
| RONALD GRZEGORCZYK | MI | 4.0 | 1629 | 1499 |
| DAVID SUNDEEN | MI | 4.0 | 1600 | 1480 |
| DIPANKAR ROY | MI | 4.0 | 1564 | 1426 |
| JASON ZHENG | MI | 4.0 | 1595 | 1411 |
| DINH DANG BUI | ON | 4.0 | 1563 | 1470 |
| EUGENE L MCCLURE | MI | 4.0 | 1555 | 1300 |
| ALAN BUI | ON | 4.0 | 1363 | 1214 |
| MICHAEL R ALDRICH | MI | 4.0 | 1229 | 1357 |
| LOREN SCHWIEBERT | MI | 3.5 | 1745 | 1363 |
| MAX ZHU | ON | 3.5 | 1579 | 1507 |
| GAURAV GIDWANI | MI | 3.5 | 1552 | 1222 |
| SOFIA ADINA STANESCU-BELLU | MI | 3.5 | 1507 | 1522 |
| CHIEDOZIE OKORIE | MI | 3.5 | 1602 | 1314 |
| GEORGE AVERY JONES | ON | 3.5 | 1522 | 1144 |
| RISHI SHETTY | MI | 3.5 | 1494 | 1260 |
| JOSHUA PHILIP MATHEWS | ON | 3.5 | 1441 | 1379 |
| JADE GE | MI | 3.5 | 1449 | 1277 |
| MICHAEL JEFFERY THOMAS | MI | 3.5 | 1399 | 1375 |
| JOSHUA DAVID LEE | MI | 3.5 | 1438 | 1150 |
| SIDDHARTH JHA | MI | 3.5 | 1355 | 1388 |
| AMIYATOSH PWNANANDAM | MI | 3.5 | 980 | 1385 |
| BRIAN LIU | MI | 3.0 | 1423 | 1539 |
| JOEL R HENDON | MI | 3.0 | 1436 | 1430 |
| FOREST ZHANG | MI | 3.0 | 1348 | 1391 |
| KYLE WILLIAM MURPHY | MI | 3.0 | 1403 | 1248 |
| JARED GE | MI | 3.0 | 1332 | 1150 |
| ROBERT GLEN VASEY | MI | 3.0 | 1283 | 1107 |
| JUSTIN D SCHILLING | MI | 3.0 | 1199 | 1327 |
| DEREK YAN | MI | 3.0 | 1242 | 1152 |
| JACOB ALEXANDER LAVALLEY | MI | 3.0 | 377 | 1358 |
| ERIC WRIGHT | MI | 2.5 | 1362 | 1392 |
| DANIEL KHAIN | MI | 2.5 | 1382 | 1356 |
| MICHAEL J MARTIN | MI | 2.5 | 1291 | 1286 |
| SHIVAM JHA | MI | 2.5 | 1056 | 1296 |
| TEJAS AYYAGARI | MI | 2.5 | 1011 | 1356 |
| ETHAN GUO | MI | 2.5 | 935 | 1495 |
| JOSE C YBARRA | MI | 2.0 | 1393 | 1345 |
| LARRY HODGE | MI | 2.0 | 1270 | 1206 |
| ALEX KONG | MI | 2.0 | 1186 | 1406 |
| MARISA RICCI | MI | 2.0 | 1153 | 1414 |
| MICHAEL LU | MI | 2.0 | 1092 | 1363 |
| VIRAJ MOHILE | MI | 2.0 | 917 | 1391 |
| SEAN M MC CORMICK | MI | 2.0 | 853 | 1319 |
| JULIA SHEN | MI | 1.5 | 967 | 1330 |
| JEZZEL FARKAS | ON | 1.5 | 955 | 1327 |
| ASHWIN BALAJI | MI | 1.0 | 1530 | 1186 |
| THOMAS JOSEPH HOSMER | MI | 1.0 | 1175 | 1350 |
| BEN LI | MI | 1.0 | 1163 | 1263 |