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)