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 For the first player, the information would be: Gary Hua, ON, 6.0, 1794, 1605 1605 was calculated by using the pre-tournament opponents’ ratings of 1436, 1563, 1600, 1610, 1649, 1663, 1716, and dividing by the total number of games played.

If you have questions about the meaning of the data or the results, please post them on the discussion forum. Data science, like chess, is a game of back and forth… The chess rating system (invented by a Minnesota statistician named Arpad Elo) has been used in many other contexts, including assessing relative strength of employment candidates by human resource departments.

You may substitute another text file (or set of text files, or data scraped from web pages) of similar or greater complexity, and create your own assignment and solution. You may work in a small team. All of your code should be in an R markdown file (and published to rpubs.com); with your data accessible for the person running the script.

Understand the project

  1. Read given text file.
  2. create an R Markdaown file that generate .csv file.
  3. The .csv file includes
    Player’s name
    Player’s state
    Total number of points
    Player’s pre-rating
    Player’s average pre chess rating of opponents
    (= total pre-tourament opponents’ ratings divided by the total number of games played)

Read text file

tournament <- read.table("/Users/ekhahm/desktop/tournamentinfo.txt",sep="\n")
tournamentinfo <- tournament[-c(1:4),]
tournamentinfo
##   [1]     1 | GARY HUA                        |6.0  |W  39|W  21|W  18|W  14|W   7|D  12|D   4|
##   [2]    ON | 15445895 / R: 1794   ->1817     |N:2  |W    |B    |W    |B    |W    |B    |W    |
##   [3] -----------------------------------------------------------------------------------------
##   [4]     2 | DAKSHESH DARURI                 |6.0  |W  63|W  58|L   4|W  17|W  16|W  20|W   7|
##   [5]    MI | 14598900 / R: 1553   ->1663     |N:2  |B    |W    |B    |W    |B    |W    |B    |
##   [6] -----------------------------------------------------------------------------------------
##   [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] -----------------------------------------------------------------------------------------
##  [10]     4 | PATRICK H SCHILLING             |5.5  |W  23|D  28|W   2|W  26|D   5|W  19|D   1|
##  [11]    MI | 12616049 / R: 1716   ->1744     |N:2  |W    |B    |W    |B    |W    |B    |B    |
##  [12] -----------------------------------------------------------------------------------------
##  [13]     5 | HANSHI ZUO                      |5.5  |W  45|W  37|D  12|D  13|D   4|W  14|W  17|
##  [14]    MI | 14601533 / R: 1655   ->1690     |N:2  |B    |W    |B    |W    |B    |W    |B    |
##  [15] -----------------------------------------------------------------------------------------
##  [16]     6 | HANSEN SONG                     |5.0  |W  34|D  29|L  11|W  35|D  10|W  27|W  21|
##  [17]    OH | 15055204 / R: 1686   ->1687     |N:3  |W    |B    |W    |B    |B    |W    |B    |
##  [18] -----------------------------------------------------------------------------------------
##  [19]     7 | GARY DEE SWATHELL               |5.0  |W  57|W  46|W  13|W  11|L   1|W   9|L   2|
##  [20]    MI | 11146376 / R: 1649   ->1673     |N:3  |W    |B    |W    |B    |B    |W    |W    |
##  [21] -----------------------------------------------------------------------------------------
##  [22]     8 | EZEKIEL HOUGHTON                |5.0  |W   3|W  32|L  14|L   9|W  47|W  28|W  19|
##  [23]    MI | 15142253 / R: 1641P17->1657P24  |N:3  |B    |W    |B    |W    |B    |W    |W    |
##  [24] -----------------------------------------------------------------------------------------
##  [25]     9 | STEFANO LEE                     |5.0  |W  25|L  18|W  59|W   8|W  26|L   7|W  20|
##  [26]    ON | 14954524 / R: 1411   ->1564     |N:2  |W    |B    |W    |B    |W    |B    |B    |
##  [27] -----------------------------------------------------------------------------------------
##  [28]    10 | ANVIT RAO                       |5.0  |D  16|L  19|W  55|W  31|D   6|W  25|W  18|
##  [29]    MI | 14150362 / R: 1365   ->1544     |N:3  |W    |W    |B    |B    |W    |B    |W    |
##  [30] -----------------------------------------------------------------------------------------
##  [31]    11 | CAMERON WILLIAM MC LEMAN        |4.5  |D  38|W  56|W   6|L   7|L   3|W  34|W  26|
##  [32]    MI | 12581589 / R: 1712   ->1696     |N:3  |B    |W    |B    |W    |B    |W    |B    |
##  [33] -----------------------------------------------------------------------------------------
##  [34]    12 | KENNETH J TACK                  |4.5  |W  42|W  33|D   5|W  38|H    |D   1|L   3|
##  [35]    MI | 12681257 / R: 1663   ->1670     |N:3  |W    |B    |W    |B    |     |W    |B    |
##  [36] -----------------------------------------------------------------------------------------
##  [37]    13 | TORRANCE HENRY JR               |4.5  |W  36|W  27|L   7|D   5|W  33|L   3|W  32|
##  [38]    MI | 15082995 / R: 1666   ->1662     |N:3  |B    |W    |B    |B    |W    |W    |B    |
##  [39] -----------------------------------------------------------------------------------------
##  [40]    14 | BRADLEY SHAW                    |4.5  |W  54|W  44|W   8|L   1|D  27|L   5|W  31|
##  [41]    MI | 10131499 / R: 1610   ->1618     |N:3  |W    |B    |W    |W    |B    |B    |W    |
##  [42] -----------------------------------------------------------------------------------------
##  [43]    15 | ZACHARY JAMES HOUGHTON          |4.5  |D  19|L  16|W  30|L  22|W  54|W  33|W  38|
##  [44]    MI | 15619130 / R: 1220P13->1416P20  |N:3  |B    |B    |W    |W    |B    |B    |W    |
##  [45] -----------------------------------------------------------------------------------------
##  [46]    16 | MIKE NIKITIN                    |4.0  |D  10|W  15|H    |W  39|L   2|W  36|U    |
##  [47]    MI | 10295068 / R: 1604   ->1613     |N:3  |B    |W    |     |B    |W    |B    |     |
##  [48] -----------------------------------------------------------------------------------------
##  [49]    17 | RONALD GRZEGORCZYK              |4.0  |W  48|W  41|L  26|L   2|W  23|W  22|L   5|
##  [50]    MI | 10297702 / R: 1629   ->1610     |N:3  |W    |B    |W    |B    |W    |B    |W    |
##  [51] -----------------------------------------------------------------------------------------
##  [52]    18 | DAVID SUNDEEN                   |4.0  |W  47|W   9|L   1|W  32|L  19|W  38|L  10|
##  [53]    MI | 11342094 / R: 1600   ->1600     |N:3  |B    |W    |B    |W    |B    |W    |B    |
##  [54] -----------------------------------------------------------------------------------------
##  [55]    19 | DIPANKAR ROY                    |4.0  |D  15|W  10|W  52|D  28|W  18|L   4|L   8|
##  [56]    MI | 14862333 / R: 1564   ->1570     |N:3  |W    |B    |W    |B    |W    |W    |B    |
##  [57] -----------------------------------------------------------------------------------------
##  [58]    20 | JASON ZHENG                     |4.0  |L  40|W  49|W  23|W  41|W  28|L   2|L   9|
##  [59]    MI | 14529060 / R: 1595   ->1569     |N:4  |W    |B    |W    |B    |W    |B    |W    |
##  [60] -----------------------------------------------------------------------------------------
##  [61]    21 | DINH DANG BUI                   |4.0  |W  43|L   1|W  47|L   3|W  40|W  39|L   6|
##  [62]    ON | 15495066 / R: 1563P22->1562     |N:3  |B    |W    |B    |W    |W    |B    |W    |
##  [63] -----------------------------------------------------------------------------------------
##  [64]    22 | EUGENE L MCCLURE                |4.0  |W  64|D  52|L  28|W  15|H    |L  17|W  40|
##  [65]    MI | 12405534 / R: 1555   ->1529     |N:4  |W    |B    |W    |B    |     |W    |B    |
##  [66] -----------------------------------------------------------------------------------------
##  [67]    23 | ALAN BUI                        |4.0  |L   4|W  43|L  20|W  58|L  17|W  37|W  46|
##  [68]    ON | 15030142 / R: 1363   ->1371     |     |B    |W    |B    |W    |B    |W    |B    |
##  [69] -----------------------------------------------------------------------------------------
##  [70]    24 | MICHAEL R ALDRICH               |4.0  |L  28|L  47|W  43|L  25|W  60|W  44|W  39|
##  [71]    MI | 13469010 / R: 1229   ->1300     |N:4  |B    |W    |B    |B    |W    |W    |B    |
##  [72] -----------------------------------------------------------------------------------------
##  [73]    25 | LOREN SCHWIEBERT                |3.5  |L   9|W  53|L   3|W  24|D  34|L  10|W  47|
##  [74]    MI | 12486656 / R: 1745   ->1681     |N:4  |B    |W    |B    |W    |B    |W    |B    |
##  [75] -----------------------------------------------------------------------------------------
##  [76]    26 | MAX ZHU                         |3.5  |W  49|W  40|W  17|L   4|L   9|D  32|L  11|
##  [77]    ON | 15131520 / R: 1579   ->1564     |N:4  |B    |W    |B    |W    |B    |W    |W    |
##  [78] -----------------------------------------------------------------------------------------
##  [79]    27 | GAURAV GIDWANI                  |3.5  |W  51|L  13|W  46|W  37|D  14|L   6|U    |
##  [80]    MI | 14476567 / R: 1552   ->1539     |N:4  |W    |B    |W    |B    |W    |B    |     |
##  [81] -----------------------------------------------------------------------------------------
##  [82]    28 | SOFIA ADINA STANESCU-BELLU      |3.5  |W  24|D   4|W  22|D  19|L  20|L   8|D  36|
##  [83]    MI | 14882954 / R: 1507   ->1513     |N:3  |W    |W    |B    |W    |B    |B    |W    |
##  [84] -----------------------------------------------------------------------------------------
##  [85]    29 | CHIEDOZIE OKORIE                |3.5  |W  50|D   6|L  38|L  34|W  52|W  48|U    |
##  [86]    MI | 15323285 / R: 1602P6 ->1508P12  |N:4  |B    |W    |B    |W    |W    |B    |     |
##  [87] -----------------------------------------------------------------------------------------
##  [88]    30 | GEORGE AVERY JONES              |3.5  |L  52|D  64|L  15|W  55|L  31|W  61|W  50|
##  [89]    ON | 12577178 / R: 1522   ->1444     |     |W    |B    |B    |W    |W    |B    |B    |
##  [90] -----------------------------------------------------------------------------------------
##  [91]    31 | RISHI SHETTY                    |3.5  |L  58|D  55|W  64|L  10|W  30|W  50|L  14|
##  [92]    MI | 15131618 / R: 1494   ->1444     |     |B    |W    |B    |W    |B    |W    |B    |
##  [93] -----------------------------------------------------------------------------------------
##  [94]    32 | JOSHUA PHILIP MATHEWS           |3.5  |W  61|L   8|W  44|L  18|W  51|D  26|L  13|
##  [95]    ON | 14073750 / R: 1441   ->1433     |N:4  |W    |B    |W    |B    |W    |B    |W    |
##  [96] -----------------------------------------------------------------------------------------
##  [97]    33 | JADE GE                         |3.5  |W  60|L  12|W  50|D  36|L  13|L  15|W  51|
##  [98]    MI | 14691842 / R: 1449   ->1421     |     |B    |W    |B    |W    |B    |W    |B    |
##  [99] -----------------------------------------------------------------------------------------
## [100]    34 | MICHAEL JEFFERY THOMAS          |3.5  |L   6|W  60|L  37|W  29|D  25|L  11|W  52|
## [101]    MI | 15051807 / R: 1399   ->1400     |     |B    |W    |B    |B    |W    |B    |W    |
## [102] -----------------------------------------------------------------------------------------
## [103]    35 | JOSHUA DAVID LEE                |3.5  |L  46|L  38|W  56|L   6|W  57|D  52|W  48|
## [104]    MI | 14601397 / R: 1438   ->1392     |     |W    |W    |B    |W    |B    |B    |W    |
## [105] -----------------------------------------------------------------------------------------
## [106]    36 | SIDDHARTH JHA                   |3.5  |L  13|W  57|W  51|D  33|H    |L  16|D  28|
## [107]    MI | 14773163 / R: 1355   ->1367     |N:4  |W    |B    |W    |B    |     |W    |B    |
## [108] -----------------------------------------------------------------------------------------
## [109]    37 | AMIYATOSH PWNANANDAM            |3.5  |B    |L   5|W  34|L  27|H    |L  23|W  61|
## [110]    MI | 15489571 / R:  980P12->1077P17  |     |     |B    |W    |W    |     |B    |W    |
## [111] -----------------------------------------------------------------------------------------
## [112]    38 | BRIAN LIU                       |3.0  |D  11|W  35|W  29|L  12|H    |L  18|L  15|
## [113]    MI | 15108523 / R: 1423   ->1439     |N:4  |W    |B    |W    |W    |     |B    |B    |
## [114] -----------------------------------------------------------------------------------------
## [115]    39 | JOEL R HENDON                   |3.0  |L   1|W  54|W  40|L  16|W  44|L  21|L  24|
## [116]    MI | 12923035 / R: 1436P23->1413     |N:4  |B    |W    |B    |W    |B    |W    |W    |
## [117] -----------------------------------------------------------------------------------------
## [118]    40 | FOREST ZHANG                    |3.0  |W  20|L  26|L  39|W  59|L  21|W  56|L  22|
## [119]    MI | 14892710 / R: 1348   ->1346     |     |B    |B    |W    |W    |B    |W    |W    |
## [120] -----------------------------------------------------------------------------------------
## [121]    41 | KYLE WILLIAM MURPHY             |3.0  |W  59|L  17|W  58|L  20|X    |U    |U    |
## [122]    MI | 15761443 / R: 1403P5 ->1341P9   |     |B    |W    |B    |W    |     |     |     |
## [123] -----------------------------------------------------------------------------------------
## [124]    42 | JARED GE                        |3.0  |L  12|L  50|L  57|D  60|D  61|W  64|W  56|
## [125]    MI | 14462326 / R: 1332   ->1256     |     |B    |W    |B    |B    |W    |W    |B    |
## [126] -----------------------------------------------------------------------------------------
## [127]    43 | ROBERT GLEN VASEY               |3.0  |L  21|L  23|L  24|W  63|W  59|L  46|W  55|
## [128]    MI | 14101068 / R: 1283   ->1244     |     |W    |B    |W    |W    |B    |B    |W    |
## [129] -----------------------------------------------------------------------------------------
## [130]    44 | JUSTIN D SCHILLING              |3.0  |B    |L  14|L  32|W  53|L  39|L  24|W  59|
## [131]    MI | 15323504 / R: 1199   ->1199     |     |     |W    |B    |B    |W    |B    |W    |
## [132] -----------------------------------------------------------------------------------------
## [133]    45 | DEREK YAN                       |3.0  |L   5|L  51|D  60|L  56|W  63|D  55|W  58|
## [134]    MI | 15372807 / R: 1242   ->1191     |     |W    |B    |W    |B    |W    |B    |W    |
## [135] -----------------------------------------------------------------------------------------
## [136]    46 | JACOB ALEXANDER LAVALLEY        |3.0  |W  35|L   7|L  27|L  50|W  64|W  43|L  23|
## [137]    MI | 15490981 / R:  377P3 ->1076P10  |     |B    |W    |B    |W    |B    |W    |W    |
## [138] -----------------------------------------------------------------------------------------
## [139]    47 | ERIC WRIGHT                     |2.5  |L  18|W  24|L  21|W  61|L   8|D  51|L  25|
## [140]    MI | 12533115 / R: 1362   ->1341     |     |W    |B    |W    |B    |W    |B    |W    |
## [141] -----------------------------------------------------------------------------------------
## [142]    48 | DANIEL KHAIN                    |2.5  |L  17|W  63|H    |D  52|H    |L  29|L  35|
## [143]    MI | 14369165 / R: 1382   ->1335     |     |B    |W    |     |B    |     |W    |B    |
## [144] -----------------------------------------------------------------------------------------
## [145]    49 | MICHAEL J MARTIN                |2.5  |L  26|L  20|D  63|D  64|W  58|H    |U    |
## [146]    MI | 12531685 / R: 1291P12->1259P17  |     |W    |W    |B    |W    |B    |     |     |
## [147] -----------------------------------------------------------------------------------------
## [148]    50 | SHIVAM JHA                      |2.5  |L  29|W  42|L  33|W  46|H    |L  31|L  30|
## [149]    MI | 14773178 / R: 1056   ->1111     |     |W    |B    |W    |B    |     |B    |W    |
## [150] -----------------------------------------------------------------------------------------
## [151]    51 | TEJAS AYYAGARI                  |2.5  |L  27|W  45|L  36|W  57|L  32|D  47|L  33|
## [152]    MI | 15205474 / R: 1011   ->1097     |     |B    |W    |B    |W    |B    |W    |W    |
## [153] -----------------------------------------------------------------------------------------
## [154]    52 | ETHAN GUO                       |2.5  |W  30|D  22|L  19|D  48|L  29|D  35|L  34|
## [155]    MI | 14918803 / R:  935   ->1092     |N:4  |B    |W    |B    |W    |B    |W    |B    |
## [156] -----------------------------------------------------------------------------------------
## [157]    53 | JOSE C YBARRA                   |2.0  |H    |L  25|H    |L  44|U    |W  57|U    |
## [158]    MI | 12578849 / R: 1393   ->1359     |     |     |B    |     |W    |     |W    |     |
## [159] -----------------------------------------------------------------------------------------
## [160]    54 | LARRY HODGE                     |2.0  |L  14|L  39|L  61|B    |L  15|L  59|W  64|
## [161]    MI | 12836773 / R: 1270   ->1200     |     |B    |B    |W    |     |W    |B    |W    |
## [162] -----------------------------------------------------------------------------------------
## [163]    55 | ALEX KONG                       |2.0  |L  62|D  31|L  10|L  30|B    |D  45|L  43|
## [164]    MI | 15412571 / R: 1186   ->1163     |     |W    |B    |W    |B    |     |W    |B    |
## [165] -----------------------------------------------------------------------------------------
## [166]    56 | MARISA RICCI                    |2.0  |H    |L  11|L  35|W  45|H    |L  40|L  42|
## [167]    MI | 14679887 / R: 1153   ->1140     |     |     |B    |W    |W    |     |B    |W    |
## [168] -----------------------------------------------------------------------------------------
## [169]    57 | MICHAEL LU                      |2.0  |L   7|L  36|W  42|L  51|L  35|L  53|B    |
## [170]    MI | 15113330 / R: 1092   ->1079     |     |B    |W    |W    |B    |W    |B    |     |
## [171] -----------------------------------------------------------------------------------------
## [172]    58 | VIRAJ MOHILE                    |2.0  |W  31|L   2|L  41|L  23|L  49|B    |L  45|
## [173]    MI | 14700365 / R:  917   -> 941     |     |W    |B    |W    |B    |W    |     |B    |
## [174] -----------------------------------------------------------------------------------------
## [175]    59 | SEAN M MC CORMICK               |2.0  |L  41|B    |L   9|L  40|L  43|W  54|L  44|
## [176]    MI | 12841036 / R:  853   -> 878     |     |W    |     |B    |B    |W    |W    |B    |
## [177] -----------------------------------------------------------------------------------------
## [178]    60 | JULIA SHEN                      |1.5  |L  33|L  34|D  45|D  42|L  24|H    |U    |
## [179]    MI | 14579262 / R:  967   -> 984     |     |W    |B    |B    |W    |B    |     |     |
## [180] -----------------------------------------------------------------------------------------
## [181]    61 | JEZZEL FARKAS                   |1.5  |L  32|L   3|W  54|L  47|D  42|L  30|L  37|
## [182]    ON | 15771592 / R:  955P11-> 979P18  |     |B    |W    |B    |W    |B    |W    |B    |
## [183] -----------------------------------------------------------------------------------------
## [184]    62 | ASHWIN BALAJI                   |1.0  |W  55|U    |U    |U    |U    |U    |U    |
## [185]    MI | 15219542 / R: 1530   ->1535     |     |B    |     |     |     |     |     |     |
## [186] -----------------------------------------------------------------------------------------
## [187]    63 | THOMAS JOSEPH HOSMER            |1.0  |L   2|L  48|D  49|L  43|L  45|H    |U    |
## [188]    MI | 15057092 / R: 1175   ->1125     |     |W    |B    |W    |B    |B    |     |     |
## [189] -----------------------------------------------------------------------------------------
## [190]    64 | BEN LI                          |1.0  |L  22|D  30|L  31|D  49|L  46|L  42|L  54|
## [191]    MI | 15006561 / R: 1163   ->1112     |     |B    |W    |W    |B    |W    |B    |B    |
## [192] -----------------------------------------------------------------------------------------
## 131 Levels:     1 | GARY HUA                        |6.0  |W  39|W  21|W  18|W  14|W   7|D  12|D   4| ...

Load package

library(stringr)

Extract information from text file

#Extract players' names
playername<-unlist(str_extract_all(tournamentinfo, "[A-Z]+\\s[A-Z]+\\s?[A-Z]*\\s[A-Z]*"))

#Extract players' states
playerstate <- unlist(str_extract_all(tournamentinfo, "^\\s+[A-Z]{2}"))
playerstates <- str_remove_all(playerstate, "\\s+")

#Extract total number of points
totalpoint <- unlist(str_extract_all(tournamentinfo, "\\|[[:digit:]]+\\.[[:digit:]]"))
totalpoints <- str_remove_all(totalpoint, "\\|")

#Extract players' pre-ratings
pre_rating <- unlist(str_extract_all(tournamentinfo, "R:+\\s+[[:digit:]]{1,}"))
pre_ratings <- str_remove_all(pre_rating, "R:+\\s+")

#Combine them into data.frame
tournament_table <- data.frame(number=seq.int(1,64),playername, playerstates, totalpoints, pre_ratings)
tournament_table
##    number                playername playerstates totalpoints pre_ratings
## 1       1                GARY HUA             ON         6.0        1794
## 2       2         DAKSHESH DARURI             MI         6.0        1553
## 3       3            ADITYA BAJAJ             MI         6.0        1384
## 4       4      PATRICK H SCHILLING            MI         5.5        1716
## 5       5              HANSHI ZUO             MI         5.5        1655
## 6       6             HANSEN SONG             OH         5.0        1686
## 7       7        GARY DEE SWATHELL            MI         5.0        1649
## 8       8        EZEKIEL HOUGHTON             MI         5.0        1641
## 9       9             STEFANO LEE             ON         5.0        1411
## 10     10               ANVIT RAO             MI         5.0        1365
## 11     11  CAMERON WILLIAM MC LEMAN           MI         4.5        1712
## 12     12           KENNETH J TACK            MI         4.5        1663
## 13     13        TORRANCE HENRY JR            MI         4.5        1666
## 14     14            BRADLEY SHAW             MI         4.5        1610
## 15     15   ZACHARY JAMES HOUGHTON            MI         4.5        1220
## 16     16            MIKE NIKITIN             MI         4.0        1604
## 17     17      RONALD GRZEGORCZYK             MI         4.0        1629
## 18     18           DAVID SUNDEEN             MI         4.0        1600
## 19     19            DIPANKAR ROY             MI         4.0        1564
## 20     20             JASON ZHENG             MI         4.0        1595
## 21     21            DINH DANG BUI            ON         4.0        1563
## 22     22         EUGENE L MCCLURE            MI         4.0        1555
## 23     23                ALAN BUI             ON         4.0        1363
## 24     24        MICHAEL R ALDRICH            MI         4.0        1229
## 25     25        LOREN SCHWIEBERT             MI         3.5        1745
## 26     26                 MAX ZHU             ON         3.5        1579
## 27     27          GAURAV GIDWANI             MI         3.5        1552
## 28     28      SOFIA ADINA STANESCU           MI         3.5        1507
## 29     29        CHIEDOZIE OKORIE             MI         3.5        1602
## 30     30       GEORGE AVERY JONES            ON         3.5        1522
## 31     31            RISHI SHETTY             MI         3.5        1494
## 32     32    JOSHUA PHILIP MATHEWS            ON         3.5        1441
## 33     33                 JADE GE             MI         3.5        1449
## 34     34   MICHAEL JEFFERY THOMAS            MI         3.5        1399
## 35     35         JOSHUA DAVID LEE            MI         3.5        1438
## 36     36           SIDDHARTH JHA             MI         3.5        1355
## 37     37    AMIYATOSH PWNANANDAM             MI         3.5         980
## 38     38               BRIAN LIU             MI         3.0        1423
## 39     39            JOEL R HENDON            MI         3.0        1436
## 40     40            FOREST ZHANG             MI         3.0        1348
## 41     41      KYLE WILLIAM MURPHY            MI         3.0        1403
## 42     42                JARED GE             MI         3.0        1332
## 43     43        ROBERT GLEN VASEY            MI         3.0        1283
## 44     44       JUSTIN D SCHILLING            MI         3.0        1199
## 45     45               DEREK YAN             MI         3.0        1242
## 46     46 JACOB ALEXANDER LAVALLEY            MI         3.0         377
## 47     47             ERIC WRIGHT             MI         2.5        1362
## 48     48            DANIEL KHAIN             MI         2.5        1382
## 49     49         MICHAEL J MARTIN            MI         2.5        1291
## 50     50              SHIVAM JHA             MI         2.5        1056
## 51     51          TEJAS AYYAGARI             MI         2.5        1011
## 52     52               ETHAN GUO             MI         2.5         935
## 53     53            JOSE C YBARRA            MI         2.0        1393
## 54     54             LARRY HODGE             MI         2.0        1270
## 55     55               ALEX KONG             MI         2.0        1186
## 56     56            MARISA RICCI             MI         2.0        1153
## 57     57              MICHAEL LU             MI         2.0        1092
## 58     58            VIRAJ MOHILE             MI         2.0         917
## 59     59         SEAN M MC CORMICK           MI         2.0         853
## 60     60              JULIA SHEN             MI         1.5         967
## 61     61           JEZZEL FARKAS             ON         1.5         955
## 62     62           ASHWIN BALAJI             MI         1.0        1530
## 63     63     THOMAS JOSEPH HOSMER            MI         1.0        1175
## 64     64                  BEN LI             MI         1.0        1163

Calculate players’ averages pre chess rating of opponents

# Convert text file into dataframe
tournamentinfo1 <- as.data.frame(matrix(unlist(str_split(tournamentinfo, "\\|")), nrow= 64, byrow=T), stringAsFactors= FALSE)
 
# Select columns of interest
result_match <- data.frame(tournamentinfo1$V1, tournamentinfo1$V4, tournamentinfo1$V5, tournamentinfo1$V6,tournamentinfo1$V7, tournamentinfo1$V8, tournamentinfo1$V9,tournamentinfo1$V10)

# Change column names
names(result_match) <- c("number", "R1", "R2", "R3", "R4", "R5", "R6", "R7")

# Extract only numbers
result_match$R1 <- str_extract(result_match$R1, "[:digit:]+")
result_match$R2 <- str_extract(result_match$R2, "[:digit:]+")
result_match$R3 <- str_extract(result_match$R3, "[:digit:]+")
result_match$R4 <- str_extract(result_match$R4, "[:digit:]+")
result_match$R5 <- str_extract(result_match$R5, "[:digit:]+")
result_match$R6 <- str_extract(result_match$R6, "[:digit:]+")
result_match$R7 <- str_extract(result_match$R7, "[:digit:]+")
result_match
##    number   R1   R2   R3   R4   R5   R6   R7
## 1      1    39   21   18   14    7   12    4
## 2      2    63   58    4   17   16   20    7
## 3      3     8   61   25   21   11   13   12
## 4      4    23   28    2   26    5   19    1
## 5      5    45   37   12   13    4   14   17
## 6      6    34   29   11   35   10   27   21
## 7      7    57   46   13   11    1    9    2
## 8      8     3   32   14    9   47   28   19
## 9      9    25   18   59    8   26    7   20
## 10    10    16   19   55   31    6   25   18
## 11    11    38   56    6    7    3   34   26
## 12    12    42   33    5   38 <NA>    1    3
## 13    13    36   27    7    5   33    3   32
## 14    14    54   44    8    1   27    5   31
## 15    15    19   16   30   22   54   33   38
## 16    16    10   15 <NA>   39    2   36 <NA>
## 17    17    48   41   26    2   23   22    5
## 18    18    47    9    1   32   19   38   10
## 19    19    15   10   52   28   18    4    8
## 20    20    40   49   23   41   28    2    9
## 21    21    43    1   47    3   40   39    6
## 22    22    64   52   28   15 <NA>   17   40
## 23    23     4   43   20   58   17   37   46
## 24    24    28   47   43   25   60   44   39
## 25    25     9   53    3   24   34   10   47
## 26    26    49   40   17    4    9   32   11
## 27    27    51   13   46   37   14    6 <NA>
## 28    28    24    4   22   19   20    8   36
## 29    29    50    6   38   34   52   48 <NA>
## 30    30    52   64   15   55   31   61   50
## 31    31    58   55   64   10   30   50   14
## 32    32    61    8   44   18   51   26   13
## 33    33    60   12   50   36   13   15   51
## 34    34     6   60   37   29   25   11   52
## 35    35    46   38   56    6   57   52   48
## 36    36    13   57   51   33 <NA>   16   28
## 37    37  <NA>    5   34   27 <NA>   23   61
## 38    38    11   35   29   12 <NA>   18   15
## 39    39     1   54   40   16   44   21   24
## 40    40    20   26   39   59   21   56   22
## 41    41    59   17   58   20 <NA> <NA> <NA>
## 42    42    12   50   57   60   61   64   56
## 43    43    21   23   24   63   59   46   55
## 44    44  <NA>   14   32   53   39   24   59
## 45    45     5   51   60   56   63   55   58
## 46    46    35    7   27   50   64   43   23
## 47    47    18   24   21   61    8   51   25
## 48    48    17   63 <NA>   52 <NA>   29   35
## 49    49    26   20   63   64   58 <NA> <NA>
## 50    50    29   42   33   46 <NA>   31   30
## 51    51    27   45   36   57   32   47   33
## 52    52    30   22   19   48   29   35   34
## 53    53  <NA>   25 <NA>   44 <NA>   57 <NA>
## 54    54    14   39   61 <NA>   15   59   64
## 55    55    62   31   10   30 <NA>   45   43
## 56    56  <NA>   11   35   45 <NA>   40   42
## 57    57     7   36   42   51   35   53 <NA>
## 58    58    31    2   41   23   49 <NA>   45
## 59    59    41 <NA>    9   40   43   54   44
## 60    60    33   34   45   42   24 <NA> <NA>
## 61    61    32    3   54   47   42   30   37
## 62    62    55 <NA> <NA> <NA> <NA> <NA> <NA>
## 63    63     2   48   49   43   45 <NA> <NA>
## 64    64    22   30   31   49   46   42   54
# Calculate average pre chess rating of opponents
avg_pre_rating <- array(0, dim=nrow(tournament_table))
for ( i in 1:64){
      avg_pre_rating[i]<- floor(mean(c(as.numeric(str_trim(tournament_table$pre_ratings[as.numeric(result_match$R1[i])])),
            as.numeric(str_trim(tournament_table$pre_ratings[as.numeric(result_match$R2[i])])),
            as.numeric(str_trim(tournament_table$pre_ratings[as.numeric(result_match$R3[i])])),
            as.numeric(str_trim(tournament_table$pre_ratings[as.numeric(result_match$R4[i])])),
            as.numeric(str_trim(tournament_table$pre_ratings[as.numeric(result_match$R5[i])])),
            as.numeric(str_trim(tournament_table$pre_ratings[as.numeric(result_match$R6[i])])),
            as.numeric(str_trim(tournament_table$pre_ratings[as.numeric(result_match$R7[i])]))), na.rm = TRUE))
};       
# Add average_pre_rating column on tournament_table 
tournament_table$avg_pre_rating <- avg_pre_rating
tournament_table
##    number                playername playerstates totalpoints pre_ratings
## 1       1                GARY HUA             ON         6.0        1794
## 2       2         DAKSHESH DARURI             MI         6.0        1553
## 3       3            ADITYA BAJAJ             MI         6.0        1384
## 4       4      PATRICK H SCHILLING            MI         5.5        1716
## 5       5              HANSHI ZUO             MI         5.5        1655
## 6       6             HANSEN SONG             OH         5.0        1686
## 7       7        GARY DEE SWATHELL            MI         5.0        1649
## 8       8        EZEKIEL HOUGHTON             MI         5.0        1641
## 9       9             STEFANO LEE             ON         5.0        1411
## 10     10               ANVIT RAO             MI         5.0        1365
## 11     11  CAMERON WILLIAM MC LEMAN           MI         4.5        1712
## 12     12           KENNETH J TACK            MI         4.5        1663
## 13     13        TORRANCE HENRY JR            MI         4.5        1666
## 14     14            BRADLEY SHAW             MI         4.5        1610
## 15     15   ZACHARY JAMES HOUGHTON            MI         4.5        1220
## 16     16            MIKE NIKITIN             MI         4.0        1604
## 17     17      RONALD GRZEGORCZYK             MI         4.0        1629
## 18     18           DAVID SUNDEEN             MI         4.0        1600
## 19     19            DIPANKAR ROY             MI         4.0        1564
## 20     20             JASON ZHENG             MI         4.0        1595
## 21     21            DINH DANG BUI            ON         4.0        1563
## 22     22         EUGENE L MCCLURE            MI         4.0        1555
## 23     23                ALAN BUI             ON         4.0        1363
## 24     24        MICHAEL R ALDRICH            MI         4.0        1229
## 25     25        LOREN SCHWIEBERT             MI         3.5        1745
## 26     26                 MAX ZHU             ON         3.5        1579
## 27     27          GAURAV GIDWANI             MI         3.5        1552
## 28     28      SOFIA ADINA STANESCU           MI         3.5        1507
## 29     29        CHIEDOZIE OKORIE             MI         3.5        1602
## 30     30       GEORGE AVERY JONES            ON         3.5        1522
## 31     31            RISHI SHETTY             MI         3.5        1494
## 32     32    JOSHUA PHILIP MATHEWS            ON         3.5        1441
## 33     33                 JADE GE             MI         3.5        1449
## 34     34   MICHAEL JEFFERY THOMAS            MI         3.5        1399
## 35     35         JOSHUA DAVID LEE            MI         3.5        1438
## 36     36           SIDDHARTH JHA             MI         3.5        1355
## 37     37    AMIYATOSH PWNANANDAM             MI         3.5         980
## 38     38               BRIAN LIU             MI         3.0        1423
## 39     39            JOEL R HENDON            MI         3.0        1436
## 40     40            FOREST ZHANG             MI         3.0        1348
## 41     41      KYLE WILLIAM MURPHY            MI         3.0        1403
## 42     42                JARED GE             MI         3.0        1332
## 43     43        ROBERT GLEN VASEY            MI         3.0        1283
## 44     44       JUSTIN D SCHILLING            MI         3.0        1199
## 45     45               DEREK YAN             MI         3.0        1242
## 46     46 JACOB ALEXANDER LAVALLEY            MI         3.0         377
## 47     47             ERIC WRIGHT             MI         2.5        1362
## 48     48            DANIEL KHAIN             MI         2.5        1382
## 49     49         MICHAEL J MARTIN            MI         2.5        1291
## 50     50              SHIVAM JHA             MI         2.5        1056
## 51     51          TEJAS AYYAGARI             MI         2.5        1011
## 52     52               ETHAN GUO             MI         2.5         935
## 53     53            JOSE C YBARRA            MI         2.0        1393
## 54     54             LARRY HODGE             MI         2.0        1270
## 55     55               ALEX KONG             MI         2.0        1186
## 56     56            MARISA RICCI             MI         2.0        1153
## 57     57              MICHAEL LU             MI         2.0        1092
## 58     58            VIRAJ MOHILE             MI         2.0         917
## 59     59         SEAN M MC CORMICK           MI         2.0         853
## 60     60              JULIA SHEN             MI         1.5         967
## 61     61           JEZZEL FARKAS             ON         1.5         955
## 62     62           ASHWIN BALAJI             MI         1.0        1530
## 63     63     THOMAS JOSEPH HOSMER            MI         1.0        1175
## 64     64                  BEN LI             MI         1.0        1163
##    avg_pre_rating
## 1            1605
## 2            1469
## 3            1563
## 4            1573
## 5            1500
## 6            1518
## 7            1372
## 8            1468
## 9            1523
## 10           1554
## 11           1467
## 12           1506
## 13           1497
## 14           1515
## 15           1483
## 16           1385
## 17           1498
## 18           1480
## 19           1426
## 20           1410
## 21           1470
## 22           1300
## 23           1213
## 24           1357
## 25           1363
## 26           1506
## 27           1221
## 28           1522
## 29           1313
## 30           1144
## 31           1259
## 32           1378
## 33           1276
## 34           1375
## 35           1149
## 36           1388
## 37           1384
## 38           1539
## 39           1429
## 40           1390
## 41           1248
## 42           1149
## 43           1106
## 44           1327
## 45           1152
## 46           1357
## 47           1392
## 48           1355
## 49           1285
## 50           1296
## 51           1356
## 52           1494
## 53           1345
## 54           1206
## 55           1406
## 56           1414
## 57           1363
## 58           1391
## 59           1319
## 60           1330
## 61           1327
## 62           1186
## 63           1350
## 64           1263

Generate the r file into .csv file

write.csv(tournament_table, file = "Data607project1.csv")