library(“stringr”) This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
library("stringr")
## Warning: package 'stringr' was built under R version 3.1.3
setwd("C:\\Users\\Andrew\\Desktop\\Cuny\\Data Acquisition\\Project 1")
chess_grid <- readLines("tournamentinfo.txt")
## Warning in readLines("tournamentinfo.txt"): incomplete final line found on
## 'tournamentinfo.txt'
chess_grid
## [1] "-----------------------------------------------------------------------------------------"
## [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 | "
## [4] "-----------------------------------------------------------------------------------------"
## [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 |"
## [7] "-----------------------------------------------------------------------------------------"
## [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 |"
## [10] "-----------------------------------------------------------------------------------------"
## [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 |"
## [13] "-----------------------------------------------------------------------------------------"
## [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 |"
## [16] "-----------------------------------------------------------------------------------------"
## [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 |"
## [19] "-----------------------------------------------------------------------------------------"
## [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 |"
## [22] "-----------------------------------------------------------------------------------------"
## [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 |"
## [25] "-----------------------------------------------------------------------------------------"
## [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 |"
## [28] "-----------------------------------------------------------------------------------------"
## [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 |"
## [31] "-----------------------------------------------------------------------------------------"
## [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 |"
## [34] "-----------------------------------------------------------------------------------------"
## [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 |"
## [37] "-----------------------------------------------------------------------------------------"
## [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 |"
## [40] "-----------------------------------------------------------------------------------------"
## [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 |"
## [43] "-----------------------------------------------------------------------------------------"
## [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 |"
## [46] "-----------------------------------------------------------------------------------------"
## [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 |"
## [49] "-----------------------------------------------------------------------------------------"
## [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 | |"
## [52] "-----------------------------------------------------------------------------------------"
## [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 |"
## [55] "-----------------------------------------------------------------------------------------"
## [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 |"
## [58] "-----------------------------------------------------------------------------------------"
## [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 |"
## [61] "-----------------------------------------------------------------------------------------"
## [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 |"
## [64] "-----------------------------------------------------------------------------------------"
## [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 |"
## [67] "-----------------------------------------------------------------------------------------"
## [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 |"
## [70] "-----------------------------------------------------------------------------------------"
## [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 |"
## [73] "-----------------------------------------------------------------------------------------"
## [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 |"
## [76] "-----------------------------------------------------------------------------------------"
## [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 |"
## [79] "-----------------------------------------------------------------------------------------"
## [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 |"
## [82] "-----------------------------------------------------------------------------------------"
## [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 | |"
## [85] "-----------------------------------------------------------------------------------------"
## [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 |"
## [88] "-----------------------------------------------------------------------------------------"
## [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 | |"
## [91] "-----------------------------------------------------------------------------------------"
## [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 |"
## [94] "-----------------------------------------------------------------------------------------"
## [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 |"
## [97] "-----------------------------------------------------------------------------------------"
## [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 |"
## [100] "-----------------------------------------------------------------------------------------"
## [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 |"
## [103] "-----------------------------------------------------------------------------------------"
## [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 |"
## [106] "-----------------------------------------------------------------------------------------"
## [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 |"
## [109] "-----------------------------------------------------------------------------------------"
## [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 |"
## [112] "-----------------------------------------------------------------------------------------"
## [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 |"
## [115] "-----------------------------------------------------------------------------------------"
## [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 |"
## [118] "-----------------------------------------------------------------------------------------"
## [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 |"
## [121] "-----------------------------------------------------------------------------------------"
## [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 |"
## [124] "-----------------------------------------------------------------------------------------"
## [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 | | | |"
## [127] "-----------------------------------------------------------------------------------------"
## [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 |"
## [130] "-----------------------------------------------------------------------------------------"
## [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 |"
## [133] "-----------------------------------------------------------------------------------------"
## [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 |"
## [136] "-----------------------------------------------------------------------------------------"
## [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 |"
## [139] "-----------------------------------------------------------------------------------------"
## [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 |"
## [142] "-----------------------------------------------------------------------------------------"
## [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 |"
## [145] "-----------------------------------------------------------------------------------------"
## [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 |"
## [148] "-----------------------------------------------------------------------------------------"
## [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 | | |"
## [151] "-----------------------------------------------------------------------------------------"
## [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 |"
## [154] "-----------------------------------------------------------------------------------------"
## [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 |"
## [157] "-----------------------------------------------------------------------------------------"
## [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 |"
## [160] "-----------------------------------------------------------------------------------------"
## [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 | |"
## [163] "-----------------------------------------------------------------------------------------"
## [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 |"
## [166] "-----------------------------------------------------------------------------------------"
## [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 |"
## [169] "-----------------------------------------------------------------------------------------"
## [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 |"
## [172] "-----------------------------------------------------------------------------------------"
## [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 | |"
## [175] "-----------------------------------------------------------------------------------------"
## [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 |"
## [178] "-----------------------------------------------------------------------------------------"
## [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 |"
## [181] "-----------------------------------------------------------------------------------------"
## [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 | | |"
## [184] "-----------------------------------------------------------------------------------------"
## [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 |"
## [187] "-----------------------------------------------------------------------------------------"
## [188] " 62 | ASHWIN BALAJI |1.0 |W 55|U |U |U |U |U |U |"
## [189] " MI | 15219542 / R: 1530 ->1535 | |B | | | | | | |"
## [190] "-----------------------------------------------------------------------------------------"
## [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 | | |"
## [193] "-----------------------------------------------------------------------------------------"
## [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 |"
## [196] "-----------------------------------------------------------------------------------------"
player_name <- (str_trim(unlist(str_extract_all(chess_grid, "([[:alpha:] ]-?){15,31}"))))[2:65]
player_name
## [1] "GARY HUA" "DAKSHESH DARURI"
## [3] "ADITYA BAJAJ" "PATRICK H SCHILLING"
## [5] "HANSHI ZUO" "HANSEN SONG"
## [7] "GARY DEE SWATHELL" "EZEKIEL HOUGHTON"
## [9] "STEFANO LEE" "ANVIT RAO"
## [11] "CAMERON WILLIAM MC LEMAN" "KENNETH J TACK"
## [13] "TORRANCE HENRY JR" "BRADLEY SHAW"
## [15] "ZACHARY JAMES HOUGHTON" "MIKE NIKITIN"
## [17] "RONALD GRZEGORCZYK" "DAVID SUNDEEN"
## [19] "DIPANKAR ROY" "JASON ZHENG"
## [21] "DINH DANG BUI" "EUGENE L MCCLURE"
## [23] "ALAN BUI" "MICHAEL R ALDRICH"
## [25] "LOREN SCHWIEBERT" "MAX ZHU"
## [27] "GAURAV GIDWANI" "SOFIA ADINA STANESCU-BELLU"
## [29] "CHIEDOZIE OKORIE" "GEORGE AVERY JONES"
## [31] "RISHI SHETTY" "JOSHUA PHILIP MATHEWS"
## [33] "JADE GE" "MICHAEL JEFFERY THOMAS"
## [35] "JOSHUA DAVID LEE" "SIDDHARTH JHA"
## [37] "AMIYATOSH PWNANANDAM" "BRIAN LIU"
## [39] "JOEL R HENDON" "FOREST ZHANG"
## [41] "KYLE WILLIAM MURPHY" "JARED GE"
## [43] "ROBERT GLEN VASEY" "JUSTIN D SCHILLING"
## [45] "DEREK YAN" "JACOB ALEXANDER LAVALLEY"
## [47] "ERIC WRIGHT" "DANIEL KHAIN"
## [49] "MICHAEL J MARTIN" "SHIVAM JHA"
## [51] "TEJAS AYYAGARI" "ETHAN GUO"
## [53] "JOSE C YBARRA" "LARRY HODGE"
## [55] "ALEX KONG" "MARISA RICCI"
## [57] "MICHAEL LU" "VIRAJ MOHILE"
## [59] "SEAN M MC CORMICK" "JULIA SHEN"
## [61] "JEZZEL FARKAS" "ASHWIN BALAJI"
## [63] "THOMAS JOSEPH HOSMER" "BEN LI"
str_count(player_name)
## [1] 8 15 12 19 10 11 17 16 11 9 24 14 17 12 22 12 18 13 12 11 13 16 8
## [24] 17 16 7 14 26 16 18 12 21 7 22 16 13 20 9 13 12 19 8 17 18 9 24
## [47] 11 12 16 10 14 9 13 11 9 12 10 12 17 10 13 13 20 6
state <- str_trim(unlist(str_extract_all(chess_grid, " MI | ON | OH ")))
state
## [1] "ON" "MI" "MI" "MI" "MI" "OH" "MI" "MI" "ON" "MI" "MI" "MI" "MI" "MI"
## [15] "MI" "MI" "MI" "MI" "MI" "MI" "ON" "MI" "ON" "MI" "MI" "ON" "MI" "MI"
## [29] "MI" "ON" "MI" "ON" "MI" "MI" "MI" "MI" "MI" "MI" "MI" "MI" "MI" "MI"
## [43] "MI" "MI" "MI" "MI" "MI" "MI" "MI" "MI" "MI" "MI" "MI" "MI" "MI" "MI"
## [57] "MI" "MI" "MI" "MI" "ON" "MI" "MI" "MI"
str(state)
## chr [1:64] "ON" "MI" "MI" "MI" "MI" "OH" "MI" "MI" ...
results <- unlist(str_extract_all(chess_grid, "[:digit:][//.][:digit:]"))
results
## [1] "6.0" "6.0" "6.0" "5.5" "5.5" "5.0" "5.0" "5.0" "5.0" "5.0" "4.5"
## [12] "4.5" "4.5" "4.5" "4.5" "4.0" "4.0" "4.0" "4.0" "4.0" "4.0" "4.0"
## [23] "4.0" "4.0" "3.5" "3.5" "3.5" "3.5" "3.5" "3.5" "3.5" "3.5" "3.5"
## [34] "3.5" "3.5" "3.5" "3.5" "3.0" "3.0" "3.0" "3.0" "3.0" "3.0" "3.0"
## [45] "3.0" "3.0" "2.5" "2.5" "2.5" "2.5" "2.5" "2.5" "2.0" "2.0" "2.0"
## [56] "2.0" "2.0" "2.0" "2.0" "1.5" "1.5" "1.0" "1.0" "1.0"
str(results)
## chr [1:64] "6.0" "6.0" "6.0" "5.5" "5.5" "5.0" "5.0" ...
#Create vector of play preratings
prerating <- as.integer(sub(pattern = 'R: ', replacement = '', x = unlist(str_extract_all(chess_grid, "R: [[:digit:] ]{4}"))))
prerating
## [1] 1794 1553 1384 1716 1655 1686 1649 1641 1411 1365 1712 1663 1666 1610
## [15] 1220 1604 1629 1600 1564 1595 1563 1555 1363 1229 1745 1579 1552 1507
## [29] 1602 1522 1494 1441 1449 1399 1438 1355 980 1423 1436 1348 1403 1332
## [43] 1283 1199 1242 377 1362 1382 1291 1056 1011 935 1393 1270 1186 1153
## [57] 1092 917 853 967 955 1530 1175 1163
#add index
names(prerating) <- (1:64)
#Collects rest of string following top row 'total points', with opponent data
opp_dat <- gsub("\\|", " ", str_sub(unlist(str_extract_all(chess_grid, "[:digit:][//.][:digit:][|DLWUXBH[:digit:] ]{44}")), start = 10, end = 47))
opp_dat
## [1] "39 W 21 W 18 W 14 W 7 D 12 D 4"
## [2] "63 W 58 L 4 W 17 W 16 W 20 W 7"
## [3] " 8 W 61 W 25 W 21 W 11 W 13 W 12"
## [4] "23 D 28 W 2 W 26 D 5 W 19 D 1"
## [5] "45 W 37 D 12 D 13 D 4 W 14 W 17"
## [6] "34 D 29 L 11 W 35 D 10 W 27 W 21"
## [7] "57 W 46 W 13 W 11 L 1 W 9 L 2"
## [8] " 3 W 32 L 14 L 9 W 47 W 28 W 19"
## [9] "25 L 18 W 59 W 8 W 26 L 7 W 20"
## [10] "16 L 19 W 55 W 31 D 6 W 25 W 18"
## [11] "38 W 56 W 6 L 7 L 3 W 34 W 26"
## [12] "42 W 33 D 5 W 38 H D 1 L 3"
## [13] "36 W 27 L 7 D 5 W 33 L 3 W 32"
## [14] "54 W 44 W 8 L 1 D 27 L 5 W 31"
## [15] "19 L 16 W 30 L 22 W 54 W 33 W 38"
## [16] "10 W 15 H W 39 L 2 W 36 U "
## [17] "48 W 41 L 26 L 2 W 23 W 22 L 5"
## [18] "47 W 9 L 1 W 32 L 19 W 38 L 10"
## [19] "15 W 10 W 52 D 28 W 18 L 4 L 8"
## [20] "40 W 49 W 23 W 41 W 28 L 2 L 9"
## [21] "43 L 1 W 47 L 3 W 40 W 39 L 6"
## [22] "64 D 52 L 28 W 15 H L 17 W 40"
## [23] " 4 W 43 L 20 W 58 L 17 W 37 W 46"
## [24] "28 L 47 W 43 L 25 W 60 W 44 W 39"
## [25] " 9 W 53 L 3 W 24 D 34 L 10 W 47"
## [26] "49 W 40 W 17 L 4 L 9 D 32 L 11"
## [27] "51 L 13 W 46 W 37 D 14 L 6 U "
## [28] "24 D 4 W 22 D 19 L 20 L 8 D 36"
## [29] "50 D 6 L 38 L 34 W 52 W 48 U "
## [30] "52 D 64 L 15 W 55 L 31 W 61 W 50"
## [31] "58 D 55 W 64 L 10 W 30 W 50 L 14"
## [32] "61 L 8 W 44 L 18 W 51 D 26 L 13"
## [33] "60 L 12 W 50 D 36 L 13 L 15 W 51"
## [34] " 6 W 60 L 37 W 29 D 25 L 11 W 52"
## [35] "46 L 38 W 56 L 6 W 57 D 52 W 48"
## [36] "13 W 57 W 51 D 33 H L 16 D 28"
## [37] " L 5 W 34 L 27 H L 23 W 61"
## [38] "11 W 35 W 29 L 12 H L 18 L 15"
## [39] " 1 W 54 W 40 L 16 W 44 L 21 L 24"
## [40] "20 L 26 L 39 W 59 L 21 W 56 L 22"
## [41] "59 L 17 W 58 L 20 X U U "
## [42] "12 L 50 L 57 D 60 D 61 W 64 W 56"
## [43] "21 L 23 L 24 W 63 W 59 L 46 W 55"
## [44] " L 14 L 32 W 53 L 39 L 24 W 59"
## [45] " 5 L 51 D 60 L 56 W 63 D 55 W 58"
## [46] "35 L 7 L 27 L 50 W 64 W 43 L 23"
## [47] "18 W 24 L 21 W 61 L 8 D 51 L 25"
## [48] "17 W 63 H D 52 H L 29 L 35"
## [49] "26 L 20 D 63 D 64 W 58 H U "
## [50] "29 W 42 L 33 W 46 H L 31 L 30"
## [51] "27 W 45 L 36 W 57 L 32 D 47 L 33"
## [52] "30 D 22 L 19 D 48 L 29 D 35 L 34"
## [53] " L 25 H L 44 U W 57 U "
## [54] "14 L 39 L 61 B L 15 L 59 W 64"
## [55] "62 D 31 L 10 L 30 B D 45 L 43"
## [56] " L 11 L 35 W 45 H L 40 L 42"
## [57] " 7 L 36 W 42 L 51 L 35 L 53 B "
## [58] "31 L 2 L 41 L 23 L 49 B L 45"
## [59] "41 B L 9 L 40 L 43 W 54 L 44"
## [60] "33 L 34 D 45 D 42 L 24 H U "
## [61] "32 L 3 W 54 L 47 D 42 L 30 L 37"
## [62] "55 U U U U U U "
## [63] " 2 L 48 D 49 L 43 L 45 H U "
## [64] "22 D 30 L 31 D 49 L 46 L 42 L 54"
#Simplifies strings into only opponent numbers
opp_list <- (strsplit(opp_dat, " B | L | W | H | U | X | D "))
opp_list
## [[1]]
## [1] "39" "21" "18" "14" " 7" "12" " 4"
##
## [[2]]
## [1] "63" "58" " 4" "17" "16" "20" " 7"
##
## [[3]]
## [1] " 8" "61" "25" "21" "11" "13" "12"
##
## [[4]]
## [1] "23" "28" " 2" "26" " 5" "19" " 1"
##
## [[5]]
## [1] "45" "37" "12" "13" " 4" "14" "17"
##
## [[6]]
## [1] "34" "29" "11" "35" "10" "27" "21"
##
## [[7]]
## [1] "57" "46" "13" "11" " 1" " 9" " 2"
##
## [[8]]
## [1] " 3" "32" "14" " 9" "47" "28" "19"
##
## [[9]]
## [1] "25" "18" "59" " 8" "26" " 7" "20"
##
## [[10]]
## [1] "16" "19" "55" "31" " 6" "25" "18"
##
## [[11]]
## [1] "38" "56" " 6" " 7" " 3" "34" "26"
##
## [[12]]
## [1] "42" "33" " 5" "38" " " " 1" " 3"
##
## [[13]]
## [1] "36" "27" " 7" " 5" "33" " 3" "32"
##
## [[14]]
## [1] "54" "44" " 8" " 1" "27" " 5" "31"
##
## [[15]]
## [1] "19" "16" "30" "22" "54" "33" "38"
##
## [[16]]
## [1] "10" "15" " " "39" " 2" "36" " "
##
## [[17]]
## [1] "48" "41" "26" " 2" "23" "22" " 5"
##
## [[18]]
## [1] "47" " 9" " 1" "32" "19" "38" "10"
##
## [[19]]
## [1] "15" "10" "52" "28" "18" " 4" " 8"
##
## [[20]]
## [1] "40" "49" "23" "41" "28" " 2" " 9"
##
## [[21]]
## [1] "43" " 1" "47" " 3" "40" "39" " 6"
##
## [[22]]
## [1] "64" "52" "28" "15" " " "17" "40"
##
## [[23]]
## [1] " 4" "43" "20" "58" "17" "37" "46"
##
## [[24]]
## [1] "28" "47" "43" "25" "60" "44" "39"
##
## [[25]]
## [1] " 9" "53" " 3" "24" "34" "10" "47"
##
## [[26]]
## [1] "49" "40" "17" " 4" " 9" "32" "11"
##
## [[27]]
## [1] "51" "13" "46" "37" "14" " 6" " "
##
## [[28]]
## [1] "24" " 4" "22" "19" "20" " 8" "36"
##
## [[29]]
## [1] "50" " 6" "38" "34" "52" "48" " "
##
## [[30]]
## [1] "52" "64" "15" "55" "31" "61" "50"
##
## [[31]]
## [1] "58" "55" "64" "10" "30" "50" "14"
##
## [[32]]
## [1] "61" " 8" "44" "18" "51" "26" "13"
##
## [[33]]
## [1] "60" "12" "50" "36" "13" "15" "51"
##
## [[34]]
## [1] " 6" "60" "37" "29" "25" "11" "52"
##
## [[35]]
## [1] "46" "38" "56" " 6" "57" "52" "48"
##
## [[36]]
## [1] "13" "57" "51" "33" " " "16" "28"
##
## [[37]]
## [1] " " " 5" "34" "27" " " "23" "61"
##
## [[38]]
## [1] "11" "35" "29" "12" " " "18" "15"
##
## [[39]]
## [1] " 1" "54" "40" "16" "44" "21" "24"
##
## [[40]]
## [1] "20" "26" "39" "59" "21" "56" "22"
##
## [[41]]
## [1] "59" "17" "58" "20" " " " " " "
##
## [[42]]
## [1] "12" "50" "57" "60" "61" "64" "56"
##
## [[43]]
## [1] "21" "23" "24" "63" "59" "46" "55"
##
## [[44]]
## [1] " " "14" "32" "53" "39" "24" "59"
##
## [[45]]
## [1] " 5" "51" "60" "56" "63" "55" "58"
##
## [[46]]
## [1] "35" " 7" "27" "50" "64" "43" "23"
##
## [[47]]
## [1] "18" "24" "21" "61" " 8" "51" "25"
##
## [[48]]
## [1] "17" "63" " " "52" " " "29" "35"
##
## [[49]]
## [1] "26" "20" "63" "64" "58" " " " "
##
## [[50]]
## [1] "29" "42" "33" "46" " " "31" "30"
##
## [[51]]
## [1] "27" "45" "36" "57" "32" "47" "33"
##
## [[52]]
## [1] "30" "22" "19" "48" "29" "35" "34"
##
## [[53]]
## [1] " " "25" " " "44" " " "57" " "
##
## [[54]]
## [1] "14" "39" "61" " " "15" "59" "64"
##
## [[55]]
## [1] "62" "31" "10" "30" " " "45" "43"
##
## [[56]]
## [1] " " "11" "35" "45" " " "40" "42"
##
## [[57]]
## [1] " 7" "36" "42" "51" "35" "53" " "
##
## [[58]]
## [1] "31" " 2" "41" "23" "49" " " "45"
##
## [[59]]
## [1] "41" " " " 9" "40" "43" "54" "44"
##
## [[60]]
## [1] "33" "34" "45" "42" "24" " " " "
##
## [[61]]
## [1] "32" " 3" "54" "47" "42" "30" "37"
##
## [[62]]
## [1] "55" " " " " " " " " " " " "
##
## [[63]]
## [1] " 2" "48" "49" "43" "45" " " " "
##
## [[64]]
## [1] "22" "30" "31" "49" "46" "42" "54"
#simplifies list into numeric matrix of opponent numbers
opp_mtx <- sapply(opp_list, as.numeric)
head(opp_mtx)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
## [1,] 39 63 8 23 45 34 57 3 25 16 38 42 36
## [2,] 21 58 61 28 37 29 46 32 18 19 56 33 27
## [3,] 18 4 25 2 12 11 13 14 59 55 6 5 7
## [4,] 14 17 21 26 13 35 11 9 8 31 7 38 5
## [5,] 7 16 11 5 4 10 1 47 26 6 3 NA 33
## [6,] 12 20 13 19 14 27 9 28 7 25 34 1 3
## [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24]
## [1,] 54 19 10 48 47 15 40 43 64 4 28
## [2,] 44 16 15 41 9 10 49 1 52 43 47
## [3,] 8 30 NA 26 1 52 23 47 28 20 43
## [4,] 1 22 39 2 32 28 41 3 15 58 25
## [5,] 27 54 2 23 19 18 28 40 NA 17 60
## [6,] 5 33 36 22 38 4 2 39 17 37 44
## [,25] [,26] [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35]
## [1,] 9 49 51 24 50 52 58 61 60 6 46
## [2,] 53 40 13 4 6 64 55 8 12 60 38
## [3,] 3 17 46 22 38 15 64 44 50 37 56
## [4,] 24 4 37 19 34 55 10 18 36 29 6
## [5,] 34 9 14 20 52 31 30 51 13 25 57
## [6,] 10 32 6 8 48 61 50 26 15 11 52
## [,36] [,37] [,38] [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46]
## [1,] 13 NA 11 1 20 59 12 21 NA 5 35
## [2,] 57 5 35 54 26 17 50 23 14 51 7
## [3,] 51 34 29 40 39 58 57 24 32 60 27
## [4,] 33 27 12 16 59 20 60 63 53 56 50
## [5,] NA NA NA 44 21 NA 61 59 39 63 64
## [6,] 16 23 18 21 56 NA 64 46 24 55 43
## [,47] [,48] [,49] [,50] [,51] [,52] [,53] [,54] [,55] [,56] [,57]
## [1,] 18 17 26 29 27 30 NA 14 62 NA 7
## [2,] 24 63 20 42 45 22 25 39 31 11 36
## [3,] 21 NA 63 33 36 19 NA 61 10 35 42
## [4,] 61 52 64 46 57 48 44 NA 30 45 51
## [5,] 8 NA 58 NA 32 29 NA 15 NA NA 35
## [6,] 51 29 NA 31 47 35 57 59 45 40 53
## [,58] [,59] [,60] [,61] [,62] [,63] [,64]
## [1,] 31 41 33 32 55 2 22
## [2,] 2 NA 34 3 NA 48 30
## [3,] 41 9 45 54 NA 49 31
## [4,] 23 40 42 47 NA 43 49
## [5,] 49 43 24 42 NA 45 46
## [6,] NA 54 NA 30 NA NA 42
#creates matrix of correlating preratings
opp_rating_mtx <- matrix(prerating[opp_mtx], nrow = 7)
opp_rating_mtx
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
## [1,] 1436 1175 1641 1363 1242 1399 1092 1384 1745 1604 1423 1332 1355
## [2,] 1563 917 955 1507 980 1602 377 1441 1600 1564 1153 1449 1552
## [3,] 1600 1716 1745 1553 1663 1712 1666 1610 853 1186 1686 1655 1649
## [4,] 1610 1629 1563 1579 1666 1438 1712 1411 1641 1494 1649 1423 1655
## [5,] 1649 1604 1712 1655 1716 1365 1794 1362 1579 1686 1384 NA 1449
## [6,] 1663 1595 1666 1564 1610 1552 1411 1507 1649 1745 1399 1794 1384
## [7,] 1716 1649 1663 1794 1629 1563 1553 1564 1595 1600 1579 1384 1441
## [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24]
## [1,] 1270 1564 1365 1382 1362 1220 1348 1283 1163 1716 1507
## [2,] 1199 1604 1220 1403 1411 1365 1291 1794 935 1283 1362
## [3,] 1641 1522 NA 1579 1794 935 1363 1362 1507 1595 1283
## [4,] 1794 1555 1436 1553 1441 1507 1403 1384 1220 917 1745
## [5,] 1552 1270 1553 1363 1564 1600 1507 1348 NA 1629 967
## [6,] 1655 1449 1355 1555 1423 1716 1553 1436 1629 980 1199
## [7,] 1494 1423 NA 1655 1365 1641 1411 1686 1348 377 1436
## [,25] [,26] [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35]
## [1,] 1411 1291 1011 1229 1056 935 917 955 967 1686 377
## [2,] 1393 1348 1666 1716 1686 1163 1186 1641 1663 967 1423
## [3,] 1384 1629 377 1555 1423 1220 1163 1199 1056 980 1153
## [4,] 1229 1716 980 1564 1399 1186 1365 1600 1355 1602 1686
## [5,] 1399 1411 1610 1595 935 1494 1522 1011 1666 1745 1092
## [6,] 1365 1441 1686 1641 1382 955 1056 1579 1220 1712 935
## [7,] 1362 1712 NA 1355 NA 1056 1610 1666 1011 935 1382
## [,36] [,37] [,38] [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46]
## [1,] 1666 NA 1712 1794 1595 853 1663 1563 NA 1655 1438
## [2,] 1092 1655 1438 1270 1579 1629 1056 1363 1610 1011 1649
## [3,] 1011 1399 1602 1348 1436 917 1092 1229 1441 967 1552
## [4,] 1449 1552 1663 1604 853 1595 967 1175 1393 1153 1056
## [5,] NA NA NA 1199 1563 NA 955 853 1436 1175 1163
## [6,] 1604 1363 1600 1563 1153 NA 1163 377 1229 1186 1283
## [7,] 1507 955 1220 1229 1555 NA 1153 1186 853 917 1363
## [,47] [,48] [,49] [,50] [,51] [,52] [,53] [,54] [,55] [,56] [,57]
## [1,] 1600 1629 1579 1602 1552 1522 NA 1610 1530 NA 1649
## [2,] 1229 1175 1595 1332 1242 1555 1745 1436 1494 1712 1355
## [3,] 1563 NA 1175 1449 1355 1564 NA 955 1365 1438 1332
## [4,] 955 935 1163 377 1092 1382 1199 NA 1522 1242 1011
## [5,] 1641 NA 917 NA 1441 1602 NA 1220 NA NA 1438
## [6,] 1011 1602 NA 1494 1362 1438 1092 853 1242 1348 1393
## [7,] 1745 1438 NA 1522 1449 1399 NA 1163 1283 1332 NA
## [,58] [,59] [,60] [,61] [,62] [,63] [,64]
## [1,] 1494 1403 1449 1441 1186 1553 1555
## [2,] 1553 NA 1399 1384 NA 1382 1522
## [3,] 1403 1411 1242 1270 NA 1291 1494
## [4,] 1363 1348 1332 1362 NA 1283 1291
## [5,] 1291 1283 1229 1332 NA 1242 377
## [6,] NA 1270 NA 1522 NA NA 1332
## [7,] 1242 1199 NA 980 NA NA 1270
#creates vector of averaged preratings
opp_avg_prerating <- apply(opp_rating_mtx, 2, mean, na.rm = TRUE)
opp_avg_prerating
## [1] 1605.286 1469.286 1563.571 1573.571 1500.857 1518.714 1372.143
## [8] 1468.429 1523.143 1554.143 1467.571 1506.167 1497.857 1515.000
## [15] 1483.857 1385.800 1498.571 1480.000 1426.286 1410.857 1470.429
## [22] 1300.333 1213.857 1357.000 1363.286 1506.857 1221.667 1522.143
## [29] 1313.500 1144.143 1259.857 1378.714 1276.857 1375.286 1149.714
## [36] 1388.167 1384.800 1539.167 1429.571 1390.571 1248.500 1149.857
## [43] 1106.571 1327.000 1152.000 1357.714 1392.000 1355.800 1285.800
## [50] 1296.000 1356.143 1494.571 1345.333 1206.167 1406.000 1414.400
## [57] 1363.000 1391.000 1319.000 1330.200 1327.286 1186.000 1350.200
## [64] 1263.000
tourn_results <- data.frame(player_name, state, results, prerating, opp_avg_prerating)
head(tourn_results)
## player_name state results prerating opp_avg_prerating
## 1 GARY HUA ON 6.0 1794 1605.286
## 2 DAKSHESH DARURI MI 6.0 1553 1469.286
## 3 ADITYA BAJAJ MI 6.0 1384 1563.571
## 4 PATRICK H SCHILLING MI 5.5 1716 1573.571
## 5 HANSHI ZUO MI 5.5 1655 1500.857
## 6 HANSEN SONG OH 5.0 1686 1518.714