load the text file and remove the data that will not be used for this project
str <- read.csv(file="tournamentinfo.txt", header=FALSE, sep="|")
str <- str |> filter(!str_detect(V1, "^-+$"))
str <- str[3 : nrow(str), ]
will isolate data based on it’s regex matches and filter rows that contains such matches
names_collecter <- str |> filter(str_detect(V2, "[A-Z] [A-Z]"))
state_collecter <- str |> filter(str_detect(V1, "[A-Z][A-Z]"))
points_collector <- str |> filter(str_detect(V3, "\\d+\\.\\d"))
pre_rating_collector <- str |> filter(str_detect(V2, "\\d+"))
pre_rating_collector <- pre_rating_collector |> mutate(V2 =str_extract(V2,":\\s+\\d+"))
pre_rating_collector <- pre_rating_collector |> mutate(V2 = str_remove_all(V2, " "))
pre_rating_collector <- pre_rating_collector |> mutate(V2 = str_remove_all(V2, ":"))
here will create our table that doesnt not have the avg_pre_rating calculations yet
tab <- tibble(player_name = names_collecter$V2, state = state_collecter$V1, total_points = points_collector$V3, pre_rating = pre_rating_collector$V2)
tab <- transform(tab, pre_rating = as.integer(pre_rating))
kable(tab)
| player_name | state | total_points | pre_rating |
|---|---|---|---|
| GARY HUA | ON | 6.0 | 1794 |
| DAKSHESH DARURI | MI | 6.0 | 1553 |
| ADITYA BAJAJ | MI | 6.0 | 1384 |
| PATRICK H SCHILLING | MI | 5.5 | 1716 |
| HANSHI ZUO | MI | 5.5 | 1655 |
| HANSEN SONG | OH | 5.0 | 1686 |
| GARY DEE SWATHELL | MI | 5.0 | 1649 |
| EZEKIEL HOUGHTON | MI | 5.0 | 1641 |
| STEFANO LEE | ON | 5.0 | 1411 |
| ANVIT RAO | MI | 5.0 | 1365 |
| CAMERON WILLIAM MC LEMAN | MI | 4.5 | 1712 |
| KENNETH J TACK | MI | 4.5 | 1663 |
| TORRANCE HENRY JR | MI | 4.5 | 1666 |
| BRADLEY SHAW | MI | 4.5 | 1610 |
| ZACHARY JAMES HOUGHTON | MI | 4.5 | 1220 |
| MIKE NIKITIN | MI | 4.0 | 1604 |
| RONALD GRZEGORCZYK | MI | 4.0 | 1629 |
| DAVID SUNDEEN | MI | 4.0 | 1600 |
| DIPANKAR ROY | MI | 4.0 | 1564 |
| JASON ZHENG | MI | 4.0 | 1595 |
| DINH DANG BUI | ON | 4.0 | 1563 |
| EUGENE L MCCLURE | MI | 4.0 | 1555 |
| ALAN BUI | ON | 4.0 | 1363 |
| MICHAEL R ALDRICH | MI | 4.0 | 1229 |
| LOREN SCHWIEBERT | MI | 3.5 | 1745 |
| MAX ZHU | ON | 3.5 | 1579 |
| GAURAV GIDWANI | MI | 3.5 | 1552 |
| SOFIA ADINA STANESCU-BELLU | MI | 3.5 | 1507 |
| CHIEDOZIE OKORIE | MI | 3.5 | 1602 |
| GEORGE AVERY JONES | ON | 3.5 | 1522 |
| RISHI SHETTY | MI | 3.5 | 1494 |
| JOSHUA PHILIP MATHEWS | ON | 3.5 | 1441 |
| JADE GE | MI | 3.5 | 1449 |
| MICHAEL JEFFERY THOMAS | MI | 3.5 | 1399 |
| JOSHUA DAVID LEE | MI | 3.5 | 1438 |
| SIDDHARTH JHA | MI | 3.5 | 1355 |
| AMIYATOSH PWNANANDAM | MI | 3.5 | 980 |
| BRIAN LIU | MI | 3.0 | 1423 |
| JOEL R HENDON | MI | 3.0 | 1436 |
| FOREST ZHANG | MI | 3.0 | 1348 |
| KYLE WILLIAM MURPHY | MI | 3.0 | 1403 |
| JARED GE | MI | 3.0 | 1332 |
| ROBERT GLEN VASEY | MI | 3.0 | 1283 |
| JUSTIN D SCHILLING | MI | 3.0 | 1199 |
| DEREK YAN | MI | 3.0 | 1242 |
| JACOB ALEXANDER LAVALLEY | MI | 3.0 | 377 |
| ERIC WRIGHT | MI | 2.5 | 1362 |
| DANIEL KHAIN | MI | 2.5 | 1382 |
| MICHAEL J MARTIN | MI | 2.5 | 1291 |
| SHIVAM JHA | MI | 2.5 | 1056 |
| TEJAS AYYAGARI | MI | 2.5 | 1011 |
| ETHAN GUO | MI | 2.5 | 935 |
| JOSE C YBARRA | MI | 2.0 | 1393 |
| LARRY HODGE | MI | 2.0 | 1270 |
| ALEX KONG | MI | 2.0 | 1186 |
| MARISA RICCI | MI | 2.0 | 1153 |
| MICHAEL LU | MI | 2.0 | 1092 |
| VIRAJ MOHILE | MI | 2.0 | 917 |
| SEAN M MC CORMICK | MI | 2.0 | 853 |
| JULIA SHEN | MI | 1.5 | 967 |
| JEZZEL FARKAS | ON | 1.5 | 955 |
| ASHWIN BALAJI | MI | 1.0 | 1530 |
| THOMAS JOSEPH HOSMER | MI | 1.0 | 1175 |
| BEN LI | MI | 1.0 | 1163 |
will calculate average_pre_rating
avg_pre_vector <- c()
for(i in 1:nrow(points_collector)) {
count = 0
adder = 0
for (j in 5 : ncol(points_collector) - 1){
if(str_detect(points_collector[i,j] ,"L|D|W") ){
index_str = str_extract(points_collector[i,j], "\\d+" )
index = strtoi(index_str)
adder = adder + tab[index, "pre_rating"]
count <- count + 1
}
}
avg_pre_vector <- append(avg_pre_vector, round(adder / count))
}
kable(avg_pre_vector)
| x |
|---|
| 1605 |
| 1469 |
| 1564 |
| 1574 |
| 1501 |
| 1519 |
| 1372 |
| 1468 |
| 1523 |
| 1554 |
| 1468 |
| 1506 |
| 1498 |
| 1515 |
| 1484 |
| 1386 |
| 1499 |
| 1480 |
| 1426 |
| 1411 |
| 1470 |
| 1300 |
| 1214 |
| 1357 |
| 1363 |
| 1507 |
| 1222 |
| 1522 |
| 1314 |
| 1144 |
| 1260 |
| 1379 |
| 1277 |
| 1375 |
| 1150 |
| 1388 |
| 1385 |
| 1539 |
| 1430 |
| 1391 |
| 1248 |
| 1150 |
| 1107 |
| 1327 |
| 1152 |
| 1358 |
| 1392 |
| 1356 |
| 1286 |
| 1296 |
| 1356 |
| 1495 |
| 1345 |
| 1206 |
| 1406 |
| 1414 |
| 1363 |
| 1391 |
| 1319 |
| 1330 |
| 1327 |
| 1186 |
| 1350 |
| 1263 |
tab <- tab |> mutate(avg_pre_rating = avg_pre_vector)
write_csv(tab, file = "results.csv")
kable(tab)
| player_name | state | total_points | pre_rating | avg_pre_rating |
|---|---|---|---|---|
| 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 |