Project 1

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

To solve this project we start by building vectors for each one of the variables requireded from each player. We then combine the vectors into a data frame and export it to a csv file. We need to build 5 vectors, one for each variable. Each of these Vectors will have a total of 64 elements, one for each player. These elements represent the rows in out final data frame and csv file.

Import tournament data

library(stringr)

tournament<-readLines("tournamentinfo.txt")
tournament
##   [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 Names

playerNames<-str_extract(str_extract(tournament,"\\| [A-Z]+[:print:]+[A-Z]+     "),"[A-Z]+[:print:]+[A-Z]+")
playerNames<-playerNames[!is.na(playerNames)]
playerNames
##  [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"

Player States

playerStates<-str_extract(str_extract(tournament,"  [A-Z][A-Z] \\|"),"[A-Z][A-Z]")
playerStates<-playerStates[!is.na(playerStates)]
playerStates
##  [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"

Total Number of Points

totalPoints<-str_extract(str_extract(tournament,"\\|[0-9].[0-9]"),"[0-9].[0-9]")
totalPoints<-totalPoints[!is.na(totalPoints)]
totalPoints
##  [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"

Player’s Pre-Rating

playerPreRating<-str_extract(str_extract(tournament,"R: +[:digit:]+"),"[:digit:]+")
playerPreRating<-playerPreRating[!is.na(playerPreRating)]
playerPreRating
##  [1] "1794" "1553" "1384" "1716" "1655" "1686" "1649" "1641" "1411" "1365"
## [11] "1712" "1663" "1666" "1610" "1220" "1604" "1629" "1600" "1564" "1595"
## [21] "1563" "1555" "1363" "1229" "1745" "1579" "1552" "1507" "1602" "1522"
## [31] "1494" "1441" "1449" "1399" "1438" "1355" "980"  "1423" "1436" "1348"
## [41] "1403" "1332" "1283" "1199" "1242" "377"  "1362" "1382" "1291" "1056"
## [51] "1011" "935"  "1393" "1270" "1186" "1153" "1092" "917"  "853"  "967" 
## [61] "955"  "1530" "1175" "1163"

Average Pre Chess Rating of Opponents

opponents<-str_extract_all(tournament,"\\|[0-9]\\.[0-9] +\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|")
opponents<-Filter(length,opponents)
opponents<-str_extract_all(opponents,"\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|[A-Z] +[0-9]*\\|")
opponents<-str_extract_all(opponents,"[L,W,D] +[0-9]*")
opponents<-str_extract_all(opponents,"[0-9]?[0-9]")
opponents
## [[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"
j<-0
i<-0
avgPreRatingOpp<- vector(mode="numeric", length=0)
for (a in opponents) {
  j=j+1
  print(paste0("Player Number: ",j))
  avgPreRatingOpp[j]<-0
  i<-0
  for (b in opponents[[j]]) {
    i<-i+1
    avgPreRatingOpp[j]<-avgPreRatingOpp[j]+as.numeric(playerPreRating[as.numeric(b)])
    #print(avgPreRatingOpp[j])
  }
  avgPreRatingOpp[j]<-round(avgPreRatingOpp[j]/i,0)
  print(avgPreRatingOpp[j])
}
## [1] "Player Number: 1"
## [1] 1605
## [1] "Player Number: 2"
## [1] 1469
## [1] "Player Number: 3"
## [1] 1564
## [1] "Player Number: 4"
## [1] 1574
## [1] "Player Number: 5"
## [1] 1501
## [1] "Player Number: 6"
## [1] 1519
## [1] "Player Number: 7"
## [1] 1372
## [1] "Player Number: 8"
## [1] 1468
## [1] "Player Number: 9"
## [1] 1523
## [1] "Player Number: 10"
## [1] 1554
## [1] "Player Number: 11"
## [1] 1468
## [1] "Player Number: 12"
## [1] 1506
## [1] "Player Number: 13"
## [1] 1498
## [1] "Player Number: 14"
## [1] 1515
## [1] "Player Number: 15"
## [1] 1484
## [1] "Player Number: 16"
## [1] 1386
## [1] "Player Number: 17"
## [1] 1499
## [1] "Player Number: 18"
## [1] 1480
## [1] "Player Number: 19"
## [1] 1426
## [1] "Player Number: 20"
## [1] 1411
## [1] "Player Number: 21"
## [1] 1470
## [1] "Player Number: 22"
## [1] 1300
## [1] "Player Number: 23"
## [1] 1214
## [1] "Player Number: 24"
## [1] 1357
## [1] "Player Number: 25"
## [1] 1363
## [1] "Player Number: 26"
## [1] 1507
## [1] "Player Number: 27"
## [1] 1222
## [1] "Player Number: 28"
## [1] 1522
## [1] "Player Number: 29"
## [1] 1314
## [1] "Player Number: 30"
## [1] 1144
## [1] "Player Number: 31"
## [1] 1260
## [1] "Player Number: 32"
## [1] 1379
## [1] "Player Number: 33"
## [1] 1277
## [1] "Player Number: 34"
## [1] 1375
## [1] "Player Number: 35"
## [1] 1150
## [1] "Player Number: 36"
## [1] 1388
## [1] "Player Number: 37"
## [1] 1385
## [1] "Player Number: 38"
## [1] 1539
## [1] "Player Number: 39"
## [1] 1430
## [1] "Player Number: 40"
## [1] 1391
## [1] "Player Number: 41"
## [1] 1248
## [1] "Player Number: 42"
## [1] 1150
## [1] "Player Number: 43"
## [1] 1107
## [1] "Player Number: 44"
## [1] 1327
## [1] "Player Number: 45"
## [1] 1152
## [1] "Player Number: 46"
## [1] 1358
## [1] "Player Number: 47"
## [1] 1392
## [1] "Player Number: 48"
## [1] 1356
## [1] "Player Number: 49"
## [1] 1286
## [1] "Player Number: 50"
## [1] 1296
## [1] "Player Number: 51"
## [1] 1356
## [1] "Player Number: 52"
## [1] 1495
## [1] "Player Number: 53"
## [1] 1345
## [1] "Player Number: 54"
## [1] 1206
## [1] "Player Number: 55"
## [1] 1406
## [1] "Player Number: 56"
## [1] 1414
## [1] "Player Number: 57"
## [1] 1363
## [1] "Player Number: 58"
## [1] 1391
## [1] "Player Number: 59"
## [1] 1319
## [1] "Player Number: 60"
## [1] 1330
## [1] "Player Number: 61"
## [1] 1327
## [1] "Player Number: 62"
## [1] 1186
## [1] "Player Number: 63"
## [1] 1350
## [1] "Player Number: 64"
## [1] 1263
avgPreRatingOpp
##  [1] 1605 1469 1564 1574 1501 1519 1372 1468 1523 1554 1468 1506 1498 1515
## [15] 1484 1386 1499 1480 1426 1411 1470 1300 1214 1357 1363 1507 1222 1522
## [29] 1314 1144 1260 1379 1277 1375 1150 1388 1385 1539 1430 1391 1248 1150
## [43] 1107 1327 1152 1358 1392 1356 1286 1296 1356 1495 1345 1206 1406 1414
## [57] 1363 1391 1319 1330 1327 1186 1350 1263

Build data frame

final<-data.frame(playerNames,playerStates,totalPoints,playerPreRating,avgPreRatingOpp)
colnames(final)<-c("Player Name","Player State","Total Number of Points","Player's Pre-Rating","Average Pre Chess Rating of Opponents")
final
##                   Player Name Player State Total Number of Points
## 1                    GARY HUA           ON                    6.0
## 2             DAKSHESH DARURI           MI                    6.0
## 3                ADITYA BAJAJ           MI                    6.0
## 4         PATRICK H SCHILLING           MI                    5.5
## 5                  HANSHI ZUO           MI                    5.5
## 6                 HANSEN SONG           OH                    5.0
## 7           GARY DEE SWATHELL           MI                    5.0
## 8            EZEKIEL HOUGHTON           MI                    5.0
## 9                 STEFANO LEE           ON                    5.0
## 10                  ANVIT RAO           MI                    5.0
## 11   CAMERON WILLIAM MC LEMAN           MI                    4.5
## 12             KENNETH J TACK           MI                    4.5
## 13          TORRANCE HENRY JR           MI                    4.5
## 14               BRADLEY SHAW           MI                    4.5
## 15     ZACHARY JAMES HOUGHTON           MI                    4.5
## 16               MIKE NIKITIN           MI                    4.0
## 17         RONALD GRZEGORCZYK           MI                    4.0
## 18              DAVID SUNDEEN           MI                    4.0
## 19               DIPANKAR ROY           MI                    4.0
## 20                JASON ZHENG           MI                    4.0
## 21              DINH DANG BUI           ON                    4.0
## 22           EUGENE L MCCLURE           MI                    4.0
## 23                   ALAN BUI           ON                    4.0
## 24          MICHAEL R ALDRICH           MI                    4.0
## 25           LOREN SCHWIEBERT           MI                    3.5
## 26                    MAX ZHU           ON                    3.5
## 27             GAURAV GIDWANI           MI                    3.5
## 28 SOFIA ADINA STANESCU-BELLU           MI                    3.5
## 29           CHIEDOZIE OKORIE           MI                    3.5
## 30         GEORGE AVERY JONES           ON                    3.5
## 31               RISHI SHETTY           MI                    3.5
## 32      JOSHUA PHILIP MATHEWS           ON                    3.5
## 33                    JADE GE           MI                    3.5
## 34     MICHAEL JEFFERY THOMAS           MI                    3.5
## 35           JOSHUA DAVID LEE           MI                    3.5
## 36              SIDDHARTH JHA           MI                    3.5
## 37       AMIYATOSH PWNANANDAM           MI                    3.5
## 38                  BRIAN LIU           MI                    3.0
## 39              JOEL R HENDON           MI                    3.0
## 40               FOREST ZHANG           MI                    3.0
## 41        KYLE WILLIAM MURPHY           MI                    3.0
## 42                   JARED GE           MI                    3.0
## 43          ROBERT GLEN VASEY           MI                    3.0
## 44         JUSTIN D SCHILLING           MI                    3.0
## 45                  DEREK YAN           MI                    3.0
## 46   JACOB ALEXANDER LAVALLEY           MI                    3.0
## 47                ERIC WRIGHT           MI                    2.5
## 48               DANIEL KHAIN           MI                    2.5
## 49           MICHAEL J MARTIN           MI                    2.5
## 50                 SHIVAM JHA           MI                    2.5
## 51             TEJAS AYYAGARI           MI                    2.5
## 52                  ETHAN GUO           MI                    2.5
## 53              JOSE C YBARRA           MI                    2.0
## 54                LARRY HODGE           MI                    2.0
## 55                  ALEX KONG           MI                    2.0
## 56               MARISA RICCI           MI                    2.0
## 57                 MICHAEL LU           MI                    2.0
## 58               VIRAJ MOHILE           MI                    2.0
## 59          SEAN M MC CORMICK           MI                    2.0
## 60                 JULIA SHEN           MI                    1.5
## 61              JEZZEL FARKAS           ON                    1.5
## 62              ASHWIN BALAJI           MI                    1.0
## 63       THOMAS JOSEPH HOSMER           MI                    1.0
## 64                     BEN LI           MI                    1.0
##    Player's Pre-Rating Average Pre Chess Rating of Opponents
## 1                 1794                                  1605
## 2                 1553                                  1469
## 3                 1384                                  1564
## 4                 1716                                  1574
## 5                 1655                                  1501
## 6                 1686                                  1519
## 7                 1649                                  1372
## 8                 1641                                  1468
## 9                 1411                                  1523
## 10                1365                                  1554
## 11                1712                                  1468
## 12                1663                                  1506
## 13                1666                                  1498
## 14                1610                                  1515
## 15                1220                                  1484
## 16                1604                                  1386
## 17                1629                                  1499
## 18                1600                                  1480
## 19                1564                                  1426
## 20                1595                                  1411
## 21                1563                                  1470
## 22                1555                                  1300
## 23                1363                                  1214
## 24                1229                                  1357
## 25                1745                                  1363
## 26                1579                                  1507
## 27                1552                                  1222
## 28                1507                                  1522
## 29                1602                                  1314
## 30                1522                                  1144
## 31                1494                                  1260
## 32                1441                                  1379
## 33                1449                                  1277
## 34                1399                                  1375
## 35                1438                                  1150
## 36                1355                                  1388
## 37                 980                                  1385
## 38                1423                                  1539
## 39                1436                                  1430
## 40                1348                                  1391
## 41                1403                                  1248
## 42                1332                                  1150
## 43                1283                                  1107
## 44                1199                                  1327
## 45                1242                                  1152
## 46                 377                                  1358
## 47                1362                                  1392
## 48                1382                                  1356
## 49                1291                                  1286
## 50                1056                                  1296
## 51                1011                                  1356
## 52                 935                                  1495
## 53                1393                                  1345
## 54                1270                                  1206
## 55                1186                                  1406
## 56                1153                                  1414
## 57                1092                                  1363
## 58                 917                                  1391
## 59                 853                                  1319
## 60                 967                                  1330
## 61                 955                                  1327
## 62                1530                                  1186
## 63                1175                                  1350
## 64                1163                                  1263

Export to CSV file

write.csv(final,"ChessPlayersReport.csv")