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:

#Project 1  Jeff Nieman  Data 607

#Setup by loading packages
require(XML)
## Loading required package: XML
## Warning: package 'XML' was built under R version 3.2.3
require(stringr)
## Loading required package: stringr
require(plyr)
## Loading required package: plyr
require(ggplot2)
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.2.3
#Raw data is in a github for reproducibility.  Download it and bring it into R using read.delim.
theURL <- "https://raw.githubusercontent.com/jeffnieman11/chess_rankings/master/Chess%20Rankings.txt"
chess2 <- read.delim(theURL, header= FALSE, stringsAsFactors = FALSE)
str(chess2)
## 'data.frame':    196 obs. of  1 variable:
##  $ V1: chr  "-----------------------------------------------------------------------------------------" " Pair | Player Name                     |Total|Round|Round|Round|Round|Round|Round|Round| " " Num  | USCF ID / Rtg (Pre->Post)       | Pts |  1  |  2  |  3  |  4  |  5  |  6  |  7  | " "-----------------------------------------------------------------------------------------" ...
chess2
##                                                                                             V1
## 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  -----------------------------------------------------------------------------------------
#Create odd and even row data frames
odd<- chess2[c(5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98,101,104,107,110,113,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,176,179,182,185,188,191,194),]
even<- chess2[c(6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105,108,111,114,117,120,123,126,129,132,135,138,141,144,147,150,153,156,159,162,165,168,171,174,177,180,183,186,189,192,195),]

#Combine extracts into complete rows and extract
combo <- paste(odd,even)
extract<- str_extract_all(combo, "[:alpha:][:alpha:]+|[0-9.]+")
head(extract)
## [[1]]
##  [1] "1"        "GARY"     "HUA"      "6.0"      "39"       "21"      
##  [7] "18"       "14"       "7"        "12"       "4"        "ON"      
## [13] "15445895" "1794"     "1817"     "2"       
## 
## [[2]]
##  [1] "2"        "DAKSHESH" "DARURI"   "6.0"      "63"       "58"      
##  [7] "4"        "17"       "16"       "20"       "7"        "MI"      
## [13] "14598900" "1553"     "1663"     "2"       
## 
## [[3]]
##  [1] "3"        "ADITYA"   "BAJAJ"    "6.0"      "8"        "61"      
##  [7] "25"       "21"       "11"       "13"       "12"       "MI"      
## [13] "14959604" "1384"     "1640"     "2"       
## 
## [[4]]
##  [1] "4"         "PATRICK"   "SCHILLING" "5.5"       "23"       
##  [6] "28"        "2"         "26"        "5"         "19"       
## [11] "1"         "MI"        "12616049"  "1716"      "1744"     
## [16] "2"        
## 
## [[5]]
##  [1] "5"        "HANSHI"   "ZUO"      "5.5"      "45"       "37"      
##  [7] "12"       "13"       "4"        "14"       "17"       "MI"      
## [13] "14601533" "1655"     "1690"     "2"       
## 
## [[6]]
##  [1] "6"        "HANSEN"   "SONG"     "5.0"      "34"       "29"      
##  [7] "11"       "35"       "10"       "27"       "21"       "OH"      
## [13] "15055204" "1686"     "1687"     "3"
#Use lapply to create a data frame.
b <- do.call("rbind.fill", lapply(extract, data.frame, stringsAsFactors = FALSE))


#Create vectors for each required field except for average opponent
NameID <-c(1:64)

Player <-c(paste(b[2,], b[3,]), paste(b[18,], b[19,]), paste(b[34,], b[35,]), paste(b[50,], b[51,]), paste(b[66,], b[67,]), paste(b[82,], b[83,]), paste(b[98,], b[99,], b[100,]), paste(b[115,], b[116,]), paste(b[133,], b[134,]), paste(b[149,], b[150,]), paste(b[165,], b[166,], b[167,], b[168,]), paste(b[183,], b[184,]), paste(b[198,], b[199,]), paste(b[215,], b[216,]), paste(b[231,], b[232,], b[233,]), paste(b[250,], b[251,]), paste(b[264,], b[265,]), paste(b[280,], b[281,]), paste(b[296,], b[297,]), paste(b[312,], b[313,]), paste(b[328,], b[329,]), paste(b[346,], b[347,]), paste(b[361,], b[362,]), paste(b[376,], b[377,]), paste(b[392,], b[393,]), paste(b[408,], b[409,]), paste(b[424,], b[425,]), paste(b[439,], b[440,], b[441,], b[442,]), paste(b[457,], b[458,]), paste(b[474,], b[475,], b[476,]), paste(b[490,], b[491,]), paste(b[505,], b[506,], b[507,]), paste(b[522,], b[523,]), paste(b[537,], b[538,], b[539,]), paste(b[553,], b[554,], b[555,]), paste(b[569,], b[570,]), paste(b[584,], b[585,]), paste(b[599,], b[600,]), paste(b[614,], b[615,]), paste(b[631,], b[632,]), paste(b[646,], b[647,], b[648,]), paste(b[661,], b[662,]), paste(b[676,], b[677,], b[678,]), paste(b[692,], b[693,]), paste(b[706,], b[707,]), paste(b[721,], b[722,]), paste(b[739,], b[740,]), paste(b[754,], b[755,]), paste(b[767,], b[768,]), paste(b[782,], b[783,]), paste(b[796,], b[797,]), paste(b[811,], b[812,]), paste(b[827,], b[828,]), paste(b[838,], b[839,]), paste(b[852,], b[853,]), paste(b[866,], b[867,]), paste(b[879,], b[880,]), paste(b[893,], b[894,]), paste(b[907,], b[908,], b[909,]), paste(b[922,], b[923,]), paste(b[935,], b[936,]), paste(b[952,], b[953,]), paste(b[961,], b[962,], b[963,]), paste(b[975,], b[976,]))

State <- c(b[12,], b[28,], b[44,], b[60,], b[76,], b[92,], b[109,], b[125,], b[143,], b[159,], b[177,], b[192,], b[209,], b[225,], b[242,], b[258,], b[274,], b[290,], b[306,], b[322,], b[339,], b[355,], b[371,], b[386,], b[402,], b[418,], b[433,], b[451,], b[466,], b[485,], b[500,], b[516,], b[532,], b[548,], b[564,], b[578,], b[592,], b[608,], b[624,], b[641,], b[654,], b[671,], b[687,], b[701,], b[716,], b[732,], b[749,], b[762,], b[775,], b[791,], b[806,], b[821,], b[833,], b[847,], b[861,], b[874,], b[888,], b[902,], b[917,], b[930,], b[945,], b[956,], b[970,], b[985,])

Points <- c(b[4,], b[20,], b[36,], b[52,], b[68,], b[84,], b[101,], b[117,], b[135,], b[151,], b[169,], b[185,], b[201,], b[217,], b[234,], b[252,], b[266,], b[282,], b[298,], b[314,], b[331,], b[348,], b[363,], b[378,], b[394,], b[410,], b[426,], b[443,], b[459,], b[477,], b[492,], b[508,], b[524,], b[540,], b[556,], b[571,], b[586,], b[601,], b[616,], b[633,], b[649,], b[663,], b[679,], b[694,], b[708,], b[724,], b[741,], b[756,], b[769,], b[784,], b[798,], b[813,], b[829,], b[840,], b[854,], b[868,], b[881,], b[895,], b[910,], b[924,], b[937,], b[954,], b[964,], b[977,])

Prerating <- c(b[14,], b[30,], b[46,], b[62,], b[78,], b[94,], b[111,], b[127,], b[145,], b[161,], b[179,], b[194,], b[211,], b[227,], b[244,], b[260,], b[276,], b[292,], b[308,], b[324,], b[341,], b[357,], b[373,], b[388,], b[404,], b[420,], b[435,], b[453,], b[468,], b[487,], b[502,], b[518,], b[534,], b[550,], b[566,], b[580,], b[594,], b[610,], b[626,], b[643,], b[656,], b[673,], b[689,], b[703,], b[718,], b[736,], b[751,], b[764,], b[777,], b[793,], b[808,], b[823,], b[835,], b[849,], b[863,], b[876,], b[890,], b[904,], b[919,], b[932,], b[947,], b[958,], b[972,], b[987,])

#Combine vectors and use the data frame to create a new vector with the average opponent rating.
chessmaster <- data.frame(NameID, Player, State, Points, Prerating)

Opponent <-  c(mean(as.numeric(paste(chessmaster[b[5:11,],5]))), mean(as.numeric(paste(chessmaster[b[21:27,],5]))), mean(as.numeric(paste(chessmaster[b[37:43,],5]))), mean(as.numeric(paste(chessmaster[b[53:59,],5]))), mean(as.numeric(paste(chessmaster[b[69:75,],5]))), mean(as.numeric(paste(chessmaster[b[85:91,],5]))), mean(as.numeric(paste(chessmaster[b[102:108,],5]))), mean(as.numeric(paste(chessmaster[b[118:124,],5]))), mean(as.numeric(paste(chessmaster[b[136:142,],5]))), mean(as.numeric(paste(chessmaster[b[152:158,],5]))), mean(as.numeric(paste(chessmaster[b[170:176,],5]))), mean(as.numeric(paste(chessmaster[b[186:191,],5]))), mean(as.numeric(paste(chessmaster[b[202:208,],5]))), mean(as.numeric(paste(chessmaster[b[218:224,],5]))), mean(as.numeric(paste(chessmaster[b[235:241,],5]))), mean(as.numeric(paste(chessmaster[b[253:257,],5]))), mean(as.numeric(paste(chessmaster[b[267:273,],5]))), mean(as.numeric(paste(chessmaster[b[283:289,],5]))), mean(as.numeric(paste(chessmaster[b[299:305,],5]))), mean(as.numeric(paste(chessmaster[b[315:321,],5]))), mean(as.numeric(paste(chessmaster[b[332:337,],5]))), mean(as.numeric(paste(chessmaster[b[349:354,],5]))), mean(as.numeric(paste(chessmaster[b[364:370,],5]))), mean(as.numeric(paste(chessmaster[b[379:385,],5]))), mean(as.numeric(paste(chessmaster[b[395:401,],5]))), mean(as.numeric(paste(chessmaster[b[411:417,],5]))), mean(as.numeric(paste(chessmaster[b[427:432,],5]))), mean(as.numeric(paste(chessmaster[b[444:450,],5]))), mean(as.numeric(paste(chessmaster[b[460:465,],5]))), mean(as.numeric(paste(chessmaster[b[478:484,],5]))), mean(as.numeric(paste(chessmaster[b[493:499,],5]))), mean(as.numeric(paste(chessmaster[b[509:515,],5]))), mean(as.numeric(paste(chessmaster[b[525:531,],5]))), mean(as.numeric(paste(chessmaster[b[541:547,],5]))), mean(as.numeric(paste(chessmaster[b[557:563,],5]))), mean(as.numeric(paste(chessmaster[b[572:577,],5]))), mean(as.numeric(paste(chessmaster[b[587:591,],5]))), mean(as.numeric(paste(chessmaster[b[602:607,],5]))), mean(as.numeric(paste(chessmaster[b[617:623,],5]))), mean(as.numeric(paste(chessmaster[b[634:640,],5]))), mean(as.numeric(paste(chessmaster[b[650:653,],5]))), mean(as.numeric(paste(chessmaster[b[664:670,],5]))), mean(as.numeric(paste(chessmaster[b[680:686,],5]))), mean(as.numeric(paste(chessmaster[b[695:700,],5]))), mean(as.numeric(paste(chessmaster[b[709:715,],5]))), mean(as.numeric(paste(chessmaster[b[725:731,],5]))), mean(as.numeric(paste(chessmaster[b[742:748,],5]))), mean(as.numeric(paste(chessmaster[b[757:761,],5]))), mean(as.numeric(paste(chessmaster[b[770:774,],5]))), mean(as.numeric(paste(chessmaster[b[785:790,],5]))), mean(as.numeric(paste(chessmaster[b[799:805,],5]))), mean(as.numeric(paste(chessmaster[b[814:820,],5]))), mean(as.numeric(paste(chessmaster[b[830:832,],5]))), mean(as.numeric(paste(chessmaster[b[841:846,],5]))), mean(as.numeric(paste(chessmaster[b[855:860,],5]))), mean(as.numeric(paste(chessmaster[b[869:873,],5]))), mean(as.numeric(paste(chessmaster[b[882:887,],5]))), mean(as.numeric(paste(chessmaster[b[896:901,],5]))), mean(as.numeric(paste(chessmaster[b[911:916,],5]))), mean(as.numeric(paste(chessmaster[b[925:929,],5]))), mean(as.numeric(paste(chessmaster[b[938:944,],5]))), mean(as.numeric(paste(chessmaster[b[955,],5]))), mean(as.numeric(paste(chessmaster[b[965:969,],5]))), mean(as.numeric(paste(chessmaster[b[978:984,],5]))))
               
#Create Master Data Frame
chessmaster <- data.frame(Player, State, Points, Prerating, Opponent)
chessmaster
##                        Player State Points Prerating Opponent
## 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 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
## 7           GARY DEE SWATHELL    MI    5.0      1649 1472.000
## 8            EZEKIEL HOUGHTON    MI    5.0      1641 1468.429
## 9                 STEFANO LEE    ON    5.0      1411 1523.143
## 10                  ANVIT RAO    MI    5.0      1365 1554.143
## 11   CAMERON WILLIAM MC LEMAN    MI    4.5      1712 1467.571
## 12               KENNETH TACK    MI    4.5      1663 1506.167
## 13             TORRANCE HENRY    MI    4.5      1666 1497.857
## 14               BRADLEY SHAW    MI    4.5      1610 1515.000
## 15     ZACHARY JAMES HOUGHTON    MI    4.5      1220 1483.857
## 16               MIKE NIKITIN    MI    4.0      1604 1385.800
## 17         RONALD GRZEGORCZYK    MI    4.0      1629 1498.571
## 18              DAVID SUNDEEN    MI    4.0      1600 1480.000
## 19               DIPANKAR ROY    MI    4.0      1564 1426.286
## 20                JASON ZHENG    MI    4.0      1595 1410.857
## 21                  DINH DANG    ON    4.0      1563 1434.500
## 22             EUGENE MCCLURE    MI    4.0      1555 1300.333
## 23                   ALAN BUI    ON    4.0      1363 1313.714
## 24            MICHAEL ALDRICH    MI    4.0      1229 1357.000
## 25           LOREN SCHWIEBERT    MI    3.5      1745 1363.286
## 26                    MAX ZHU    ON    3.5      1579 1506.857
## 27             GAURAV GIDWANI    MI    3.5      1552 1338.167
## 28 SOFIA ADINA STANESCU BELLU    MI    3.5      1507 1522.143
## 29           CHIEDOZIE OKORIE    MI    3.5      1602 1313.500
## 30         GEORGE AVERY JONES    ON    3.5      1522 1144.143
## 31               RISHI SHETTY    MI    3.5      1494 1259.857
## 32      JOSHUA PHILIP MATHEWS    ON    3.5      1441 1378.714
## 33                    JADE GE    MI    3.5      1449 1276.857
## 34     MICHAEL JEFFERY THOMAS    MI    3.5      1399 1375.286
## 35           JOSHUA DAVID LEE    MI    3.5      1438 1249.571
## 36              SIDDHARTH JHA    MI    3.5      1355 1388.167
## 37       AMIYATOSH PWNANANDAM    MI    3.5       980 1384.800
## 38                  BRIAN LIU    MI    3.0      1423 1539.167
## 39                JOEL HENDON    MI    3.0      1436 1429.571
## 40               FOREST ZHANG    MI    3.0      1348 1390.571
## 41        KYLE WILLIAM MURPHY    MI    3.0      1403 1248.500
## 42                   JARED GE    MI    3.0      1332 1149.857
## 43          ROBERT GLEN VASEY    MI    3.0      1283 1206.429
## 44           JUSTIN SCHILLING    MI    3.0      1199 1327.000
## 45                  DEREK YAN    MI    3.0      1242 1152.000
## 46            JACOB ALEXANDER    MI    3.0      1076 1357.714
## 47                ERIC WRIGHT    MI    2.5      1362 1392.000
## 48               DANIEL KHAIN    MI    2.5      1382 1355.800
## 49             MICHAEL MARTIN    MI    2.5      1291 1285.800
## 50                 SHIVAM JHA    MI    2.5      1056 1412.500
## 51             TEJAS AYYAGARI    MI    2.5      1011 1356.143
## 52                  ETHAN GUO    MI    2.5       935 1494.571
## 53                JOSE YBARRA    MI    2.0      1393 1345.333
## 54                LARRY HODGE    MI    2.0      1270 1206.167
## 55                  ALEX KONG    MI    2.0      1186 1406.000
## 56               MARISA RICCI    MI    2.0      1153 1414.400
## 57                 MICHAEL LU    MI    2.0      1092 1363.000
## 58               VIRAJ MOHILE    MI    2.0       917 1391.000
## 59            SEAN MC CORMICK    MI    2.0       853 1319.000
## 60                 JULIA SHEN    MI    1.5       967 1330.200
## 61              JEZZEL FARKAS    ON    1.5       955 1327.286
## 62              ASHWIN BALAJI    MI    1.0      1530 1186.000
## 63       THOMAS JOSEPH HOSMER    MI    1.0      1175 1350.200
## 64                     BEN LI    MI    1.0      1163 1362.857
#Write and test .csv output
write.csv(chessmaster, file = "chessmaster.csv")
read.csv("chessmaster.csv")
##     X                     Player State Points Prerating Opponent
## 1   1                   GARY HUA    ON    6.0      1794 1605.286
## 2   2            DAKSHESH DARURI    MI    6.0      1553 1469.286
## 3   3               ADITYA BAJAJ    MI    6.0      1384 1563.571
## 4   4          PATRICK SCHILLING    MI    5.5      1716 1573.571
## 5   5                 HANSHI ZUO    MI    5.5      1655 1500.857
## 6   6                HANSEN SONG    OH    5.0      1686 1518.714
## 7   7          GARY DEE SWATHELL    MI    5.0      1649 1472.000
## 8   8           EZEKIEL HOUGHTON    MI    5.0      1641 1468.429
## 9   9                STEFANO LEE    ON    5.0      1411 1523.143
## 10 10                  ANVIT RAO    MI    5.0      1365 1554.143
## 11 11   CAMERON WILLIAM MC LEMAN    MI    4.5      1712 1467.571
## 12 12               KENNETH TACK    MI    4.5      1663 1506.167
## 13 13             TORRANCE HENRY    MI    4.5      1666 1497.857
## 14 14               BRADLEY SHAW    MI    4.5      1610 1515.000
## 15 15     ZACHARY JAMES HOUGHTON    MI    4.5      1220 1483.857
## 16 16               MIKE NIKITIN    MI    4.0      1604 1385.800
## 17 17         RONALD GRZEGORCZYK    MI    4.0      1629 1498.571
## 18 18              DAVID SUNDEEN    MI    4.0      1600 1480.000
## 19 19               DIPANKAR ROY    MI    4.0      1564 1426.286
## 20 20                JASON ZHENG    MI    4.0      1595 1410.857
## 21 21                  DINH DANG    ON    4.0      1563 1434.500
## 22 22             EUGENE MCCLURE    MI    4.0      1555 1300.333
## 23 23                   ALAN BUI    ON    4.0      1363 1313.714
## 24 24            MICHAEL ALDRICH    MI    4.0      1229 1357.000
## 25 25           LOREN SCHWIEBERT    MI    3.5      1745 1363.286
## 26 26                    MAX ZHU    ON    3.5      1579 1506.857
## 27 27             GAURAV GIDWANI    MI    3.5      1552 1338.167
## 28 28 SOFIA ADINA STANESCU BELLU    MI    3.5      1507 1522.143
## 29 29           CHIEDOZIE OKORIE    MI    3.5      1602 1313.500
## 30 30         GEORGE AVERY JONES    ON    3.5      1522 1144.143
## 31 31               RISHI SHETTY    MI    3.5      1494 1259.857
## 32 32      JOSHUA PHILIP MATHEWS    ON    3.5      1441 1378.714
## 33 33                    JADE GE    MI    3.5      1449 1276.857
## 34 34     MICHAEL JEFFERY THOMAS    MI    3.5      1399 1375.286
## 35 35           JOSHUA DAVID LEE    MI    3.5      1438 1249.571
## 36 36              SIDDHARTH JHA    MI    3.5      1355 1388.167
## 37 37       AMIYATOSH PWNANANDAM    MI    3.5       980 1384.800
## 38 38                  BRIAN LIU    MI    3.0      1423 1539.167
## 39 39                JOEL HENDON    MI    3.0      1436 1429.571
## 40 40               FOREST ZHANG    MI    3.0      1348 1390.571
## 41 41        KYLE WILLIAM MURPHY    MI    3.0      1403 1248.500
## 42 42                   JARED GE    MI    3.0      1332 1149.857
## 43 43          ROBERT GLEN VASEY    MI    3.0      1283 1206.429
## 44 44           JUSTIN SCHILLING    MI    3.0      1199 1327.000
## 45 45                  DEREK YAN    MI    3.0      1242 1152.000
## 46 46            JACOB ALEXANDER    MI    3.0      1076 1357.714
## 47 47                ERIC WRIGHT    MI    2.5      1362 1392.000
## 48 48               DANIEL KHAIN    MI    2.5      1382 1355.800
## 49 49             MICHAEL MARTIN    MI    2.5      1291 1285.800
## 50 50                 SHIVAM JHA    MI    2.5      1056 1412.500
## 51 51             TEJAS AYYAGARI    MI    2.5      1011 1356.143
## 52 52                  ETHAN GUO    MI    2.5       935 1494.571
## 53 53                JOSE YBARRA    MI    2.0      1393 1345.333
## 54 54                LARRY HODGE    MI    2.0      1270 1206.167
## 55 55                  ALEX KONG    MI    2.0      1186 1406.000
## 56 56               MARISA RICCI    MI    2.0      1153 1414.400
## 57 57                 MICHAEL LU    MI    2.0      1092 1363.000
## 58 58               VIRAJ MOHILE    MI    2.0       917 1391.000
## 59 59            SEAN MC CORMICK    MI    2.0       853 1319.000
## 60 60                 JULIA SHEN    MI    1.5       967 1330.200
## 61 61              JEZZEL FARKAS    ON    1.5       955 1327.286
## 62 62              ASHWIN BALAJI    MI    1.0      1530 1186.000
## 63 63       THOMAS JOSEPH HOSMER    MI    1.0      1175 1350.200
## 64 64                     BEN LI    MI    1.0      1163 1362.857
#Simple plot showing three variables to see if the pre-tournament ratings influenced results
ggplot(aes(x=Points, y=Prerating), data=chessmaster)+geom_point(color=Opponent)