library(stringr)
# Get tournament data from tournament.txt that I uploaded to github. 
theURL <- "https://raw.githubusercontent.com/bpersaud104/Data607/master/tournamentinfo.txt"
Chess <- read.table(file = theURL, header = FALSE, sep = ",")
# Remove the header from data.
Chess <- Chess[-c(1:4),]
head(Chess)
## [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] -----------------------------------------------------------------------------------------
## 131 Levels: ----------------------------------------------------------------------------------------- ...
class(Chess)
## [1] "factor"

This needs to change to character.

Chess_char <- as.character(Chess)
class(Chess_char)
## [1] "character"
# Seperate data by players
Players <- Chess_char[seq(from = 1, to = length(Chess_char), by = 3)]
Players
##  [1] "    1 | GARY HUA                        |6.0  |W  39|W  21|W  18|W  14|W   7|D  12|D   4|"
##  [2] "    2 | DAKSHESH DARURI                 |6.0  |W  63|W  58|L   4|W  17|W  16|W  20|W   7|"
##  [3] "    3 | ADITYA BAJAJ                    |6.0  |L   8|W  61|W  25|W  21|W  11|W  13|W  12|"
##  [4] "    4 | PATRICK H SCHILLING             |5.5  |W  23|D  28|W   2|W  26|D   5|W  19|D   1|"
##  [5] "    5 | HANSHI ZUO                      |5.5  |W  45|W  37|D  12|D  13|D   4|W  14|W  17|"
##  [6] "    6 | HANSEN SONG                     |5.0  |W  34|D  29|L  11|W  35|D  10|W  27|W  21|"
##  [7] "    7 | GARY DEE SWATHELL               |5.0  |W  57|W  46|W  13|W  11|L   1|W   9|L   2|"
##  [8] "    8 | EZEKIEL HOUGHTON                |5.0  |W   3|W  32|L  14|L   9|W  47|W  28|W  19|"
##  [9] "    9 | STEFANO LEE                     |5.0  |W  25|L  18|W  59|W   8|W  26|L   7|W  20|"
## [10] "   10 | ANVIT RAO                       |5.0  |D  16|L  19|W  55|W  31|D   6|W  25|W  18|"
## [11] "   11 | CAMERON WILLIAM MC LEMAN        |4.5  |D  38|W  56|W   6|L   7|L   3|W  34|W  26|"
## [12] "   12 | KENNETH J TACK                  |4.5  |W  42|W  33|D   5|W  38|H    |D   1|L   3|"
## [13] "   13 | TORRANCE HENRY JR               |4.5  |W  36|W  27|L   7|D   5|W  33|L   3|W  32|"
## [14] "   14 | BRADLEY SHAW                    |4.5  |W  54|W  44|W   8|L   1|D  27|L   5|W  31|"
## [15] "   15 | ZACHARY JAMES HOUGHTON          |4.5  |D  19|L  16|W  30|L  22|W  54|W  33|W  38|"
## [16] "   16 | MIKE NIKITIN                    |4.0  |D  10|W  15|H    |W  39|L   2|W  36|U    |"
## [17] "   17 | RONALD GRZEGORCZYK              |4.0  |W  48|W  41|L  26|L   2|W  23|W  22|L   5|"
## [18] "   18 | DAVID SUNDEEN                   |4.0  |W  47|W   9|L   1|W  32|L  19|W  38|L  10|"
## [19] "   19 | DIPANKAR ROY                    |4.0  |D  15|W  10|W  52|D  28|W  18|L   4|L   8|"
## [20] "   20 | JASON ZHENG                     |4.0  |L  40|W  49|W  23|W  41|W  28|L   2|L   9|"
## [21] "   21 | DINH DANG BUI                   |4.0  |W  43|L   1|W  47|L   3|W  40|W  39|L   6|"
## [22] "   22 | EUGENE L MCCLURE                |4.0  |W  64|D  52|L  28|W  15|H    |L  17|W  40|"
## [23] "   23 | ALAN BUI                        |4.0  |L   4|W  43|L  20|W  58|L  17|W  37|W  46|"
## [24] "   24 | MICHAEL R ALDRICH               |4.0  |L  28|L  47|W  43|L  25|W  60|W  44|W  39|"
## [25] "   25 | LOREN SCHWIEBERT                |3.5  |L   9|W  53|L   3|W  24|D  34|L  10|W  47|"
## [26] "   26 | MAX ZHU                         |3.5  |W  49|W  40|W  17|L   4|L   9|D  32|L  11|"
## [27] "   27 | GAURAV GIDWANI                  |3.5  |W  51|L  13|W  46|W  37|D  14|L   6|U    |"
## [28] "   28 | SOFIA ADINA STANESCU-BELLU      |3.5  |W  24|D   4|W  22|D  19|L  20|L   8|D  36|"
## [29] "   29 | CHIEDOZIE OKORIE                |3.5  |W  50|D   6|L  38|L  34|W  52|W  48|U    |"
## [30] "   30 | GEORGE AVERY JONES              |3.5  |L  52|D  64|L  15|W  55|L  31|W  61|W  50|"
## [31] "   31 | RISHI SHETTY                    |3.5  |L  58|D  55|W  64|L  10|W  30|W  50|L  14|"
## [32] "   32 | JOSHUA PHILIP MATHEWS           |3.5  |W  61|L   8|W  44|L  18|W  51|D  26|L  13|"
## [33] "   33 | JADE GE                         |3.5  |W  60|L  12|W  50|D  36|L  13|L  15|W  51|"
## [34] "   34 | MICHAEL JEFFERY THOMAS          |3.5  |L   6|W  60|L  37|W  29|D  25|L  11|W  52|"
## [35] "   35 | JOSHUA DAVID LEE                |3.5  |L  46|L  38|W  56|L   6|W  57|D  52|W  48|"
## [36] "   36 | SIDDHARTH JHA                   |3.5  |L  13|W  57|W  51|D  33|H    |L  16|D  28|"
## [37] "   37 | AMIYATOSH PWNANANDAM            |3.5  |B    |L   5|W  34|L  27|H    |L  23|W  61|"
## [38] "   38 | BRIAN LIU                       |3.0  |D  11|W  35|W  29|L  12|H    |L  18|L  15|"
## [39] "   39 | JOEL R HENDON                   |3.0  |L   1|W  54|W  40|L  16|W  44|L  21|L  24|"
## [40] "   40 | FOREST ZHANG                    |3.0  |W  20|L  26|L  39|W  59|L  21|W  56|L  22|"
## [41] "   41 | KYLE WILLIAM MURPHY             |3.0  |W  59|L  17|W  58|L  20|X    |U    |U    |"
## [42] "   42 | JARED GE                        |3.0  |L  12|L  50|L  57|D  60|D  61|W  64|W  56|"
## [43] "   43 | ROBERT GLEN VASEY               |3.0  |L  21|L  23|L  24|W  63|W  59|L  46|W  55|"
## [44] "   44 | JUSTIN D SCHILLING              |3.0  |B    |L  14|L  32|W  53|L  39|L  24|W  59|"
## [45] "   45 | DEREK YAN                       |3.0  |L   5|L  51|D  60|L  56|W  63|D  55|W  58|"
## [46] "   46 | JACOB ALEXANDER LAVALLEY        |3.0  |W  35|L   7|L  27|L  50|W  64|W  43|L  23|"
## [47] "   47 | ERIC WRIGHT                     |2.5  |L  18|W  24|L  21|W  61|L   8|D  51|L  25|"
## [48] "   48 | DANIEL KHAIN                    |2.5  |L  17|W  63|H    |D  52|H    |L  29|L  35|"
## [49] "   49 | MICHAEL J MARTIN                |2.5  |L  26|L  20|D  63|D  64|W  58|H    |U    |"
## [50] "   50 | SHIVAM JHA                      |2.5  |L  29|W  42|L  33|W  46|H    |L  31|L  30|"
## [51] "   51 | TEJAS AYYAGARI                  |2.5  |L  27|W  45|L  36|W  57|L  32|D  47|L  33|"
## [52] "   52 | ETHAN GUO                       |2.5  |W  30|D  22|L  19|D  48|L  29|D  35|L  34|"
## [53] "   53 | JOSE C YBARRA                   |2.0  |H    |L  25|H    |L  44|U    |W  57|U    |"
## [54] "   54 | LARRY HODGE                     |2.0  |L  14|L  39|L  61|B    |L  15|L  59|W  64|"
## [55] "   55 | ALEX KONG                       |2.0  |L  62|D  31|L  10|L  30|B    |D  45|L  43|"
## [56] "   56 | MARISA RICCI                    |2.0  |H    |L  11|L  35|W  45|H    |L  40|L  42|"
## [57] "   57 | MICHAEL LU                      |2.0  |L   7|L  36|W  42|L  51|L  35|L  53|B    |"
## [58] "   58 | VIRAJ MOHILE                    |2.0  |W  31|L   2|L  41|L  23|L  49|B    |L  45|"
## [59] "   59 | SEAN M MC CORMICK               |2.0  |L  41|B    |L   9|L  40|L  43|W  54|L  44|"
## [60] "   60 | JULIA SHEN                      |1.5  |L  33|L  34|D  45|D  42|L  24|H    |U    |"
## [61] "   61 | JEZZEL FARKAS                   |1.5  |L  32|L   3|W  54|L  47|D  42|L  30|L  37|"
## [62] "   62 | ASHWIN BALAJI                   |1.0  |W  55|U    |U    |U    |U    |U    |U    |"
## [63] "   63 | THOMAS JOSEPH HOSMER            |1.0  |L   2|L  48|D  49|L  43|L  45|H    |U    |"
## [64] "   64 | BEN LI                          |1.0  |L  22|D  30|L  31|D  49|L  46|L  42|L  54|"
# Seperate data by player's ratings
Ratings <- Chess_char[seq(from = 2, to = length(Chess_char), by = 3)]
Ratings
##  [1] "   ON | 15445895 / R: 1794   ->1817     |N:2  |W    |B    |W    |B    |W    |B    |W    |"
##  [2] "   MI | 14598900 / R: 1553   ->1663     |N:2  |B    |W    |B    |W    |B    |W    |B    |"
##  [3] "   MI | 14959604 / R: 1384   ->1640     |N:2  |W    |B    |W    |B    |W    |B    |W    |"
##  [4] "   MI | 12616049 / R: 1716   ->1744     |N:2  |W    |B    |W    |B    |W    |B    |B    |"
##  [5] "   MI | 14601533 / R: 1655   ->1690     |N:2  |B    |W    |B    |W    |B    |W    |B    |"
##  [6] "   OH | 15055204 / R: 1686   ->1687     |N:3  |W    |B    |W    |B    |B    |W    |B    |"
##  [7] "   MI | 11146376 / R: 1649   ->1673     |N:3  |W    |B    |W    |B    |B    |W    |W    |"
##  [8] "   MI | 15142253 / R: 1641P17->1657P24  |N:3  |B    |W    |B    |W    |B    |W    |W    |"
##  [9] "   ON | 14954524 / R: 1411   ->1564     |N:2  |W    |B    |W    |B    |W    |B    |B    |"
## [10] "   MI | 14150362 / R: 1365   ->1544     |N:3  |W    |W    |B    |B    |W    |B    |W    |"
## [11] "   MI | 12581589 / R: 1712   ->1696     |N:3  |B    |W    |B    |W    |B    |W    |B    |"
## [12] "   MI | 12681257 / R: 1663   ->1670     |N:3  |W    |B    |W    |B    |     |W    |B    |"
## [13] "   MI | 15082995 / R: 1666   ->1662     |N:3  |B    |W    |B    |B    |W    |W    |B    |"
## [14] "   MI | 10131499 / R: 1610   ->1618     |N:3  |W    |B    |W    |W    |B    |B    |W    |"
## [15] "   MI | 15619130 / R: 1220P13->1416P20  |N:3  |B    |B    |W    |W    |B    |B    |W    |"
## [16] "   MI | 10295068 / R: 1604   ->1613     |N:3  |B    |W    |     |B    |W    |B    |     |"
## [17] "   MI | 10297702 / R: 1629   ->1610     |N:3  |W    |B    |W    |B    |W    |B    |W    |"
## [18] "   MI | 11342094 / R: 1600   ->1600     |N:3  |B    |W    |B    |W    |B    |W    |B    |"
## [19] "   MI | 14862333 / R: 1564   ->1570     |N:3  |W    |B    |W    |B    |W    |W    |B    |"
## [20] "   MI | 14529060 / R: 1595   ->1569     |N:4  |W    |B    |W    |B    |W    |B    |W    |"
## [21] "   ON | 15495066 / R: 1563P22->1562     |N:3  |B    |W    |B    |W    |W    |B    |W    |"
## [22] "   MI | 12405534 / R: 1555   ->1529     |N:4  |W    |B    |W    |B    |     |W    |B    |"
## [23] "   ON | 15030142 / R: 1363   ->1371     |     |B    |W    |B    |W    |B    |W    |B    |"
## [24] "   MI | 13469010 / R: 1229   ->1300     |N:4  |B    |W    |B    |B    |W    |W    |B    |"
## [25] "   MI | 12486656 / R: 1745   ->1681     |N:4  |B    |W    |B    |W    |B    |W    |B    |"
## [26] "   ON | 15131520 / R: 1579   ->1564     |N:4  |B    |W    |B    |W    |B    |W    |W    |"
## [27] "   MI | 14476567 / R: 1552   ->1539     |N:4  |W    |B    |W    |B    |W    |B    |     |"
## [28] "   MI | 14882954 / R: 1507   ->1513     |N:3  |W    |W    |B    |W    |B    |B    |W    |"
## [29] "   MI | 15323285 / R: 1602P6 ->1508P12  |N:4  |B    |W    |B    |W    |W    |B    |     |"
## [30] "   ON | 12577178 / R: 1522   ->1444     |     |W    |B    |B    |W    |W    |B    |B    |"
## [31] "   MI | 15131618 / R: 1494   ->1444     |     |B    |W    |B    |W    |B    |W    |B    |"
## [32] "   ON | 14073750 / R: 1441   ->1433     |N:4  |W    |B    |W    |B    |W    |B    |W    |"
## [33] "   MI | 14691842 / R: 1449   ->1421     |     |B    |W    |B    |W    |B    |W    |B    |"
## [34] "   MI | 15051807 / R: 1399   ->1400     |     |B    |W    |B    |B    |W    |B    |W    |"
## [35] "   MI | 14601397 / R: 1438   ->1392     |     |W    |W    |B    |W    |B    |B    |W    |"
## [36] "   MI | 14773163 / R: 1355   ->1367     |N:4  |W    |B    |W    |B    |     |W    |B    |"
## [37] "   MI | 15489571 / R:  980P12->1077P17  |     |     |B    |W    |W    |     |B    |W    |"
## [38] "   MI | 15108523 / R: 1423   ->1439     |N:4  |W    |B    |W    |W    |     |B    |B    |"
## [39] "   MI | 12923035 / R: 1436P23->1413     |N:4  |B    |W    |B    |W    |B    |W    |W    |"
## [40] "   MI | 14892710 / R: 1348   ->1346     |     |B    |B    |W    |W    |B    |W    |W    |"
## [41] "   MI | 15761443 / R: 1403P5 ->1341P9   |     |B    |W    |B    |W    |     |     |     |"
## [42] "   MI | 14462326 / R: 1332   ->1256     |     |B    |W    |B    |B    |W    |W    |B    |"
## [43] "   MI | 14101068 / R: 1283   ->1244     |     |W    |B    |W    |W    |B    |B    |W    |"
## [44] "   MI | 15323504 / R: 1199   ->1199     |     |     |W    |B    |B    |W    |B    |W    |"
## [45] "   MI | 15372807 / R: 1242   ->1191     |     |W    |B    |W    |B    |W    |B    |W    |"
## [46] "   MI | 15490981 / R:  377P3 ->1076P10  |     |B    |W    |B    |W    |B    |W    |W    |"
## [47] "   MI | 12533115 / R: 1362   ->1341     |     |W    |B    |W    |B    |W    |B    |W    |"
## [48] "   MI | 14369165 / R: 1382   ->1335     |     |B    |W    |     |B    |     |W    |B    |"
## [49] "   MI | 12531685 / R: 1291P12->1259P17  |     |W    |W    |B    |W    |B    |     |     |"
## [50] "   MI | 14773178 / R: 1056   ->1111     |     |W    |B    |W    |B    |     |B    |W    |"
## [51] "   MI | 15205474 / R: 1011   ->1097     |     |B    |W    |B    |W    |B    |W    |W    |"
## [52] "   MI | 14918803 / R:  935   ->1092     |N:4  |B    |W    |B    |W    |B    |W    |B    |"
## [53] "   MI | 12578849 / R: 1393   ->1359     |     |     |B    |     |W    |     |W    |     |"
## [54] "   MI | 12836773 / R: 1270   ->1200     |     |B    |B    |W    |     |W    |B    |W    |"
## [55] "   MI | 15412571 / R: 1186   ->1163     |     |W    |B    |W    |B    |     |W    |B    |"
## [56] "   MI | 14679887 / R: 1153   ->1140     |     |     |B    |W    |W    |     |B    |W    |"
## [57] "   MI | 15113330 / R: 1092   ->1079     |     |B    |W    |W    |B    |W    |B    |     |"
## [58] "   MI | 14700365 / R:  917   -> 941     |     |W    |B    |W    |B    |W    |     |B    |"
## [59] "   MI | 12841036 / R:  853   -> 878     |     |W    |     |B    |B    |W    |W    |B    |"
## [60] "   MI | 14579262 / R:  967   -> 984     |     |W    |B    |B    |W    |B    |     |     |"
## [61] "   ON | 15771592 / R:  955P11-> 979P18  |     |B    |W    |B    |W    |B    |W    |B    |"
## [62] "   MI | 15219542 / R: 1530   ->1535     |     |B    |     |     |     |     |     |     |"
## [63] "   MI | 15057092 / R: 1175   ->1125     |     |W    |B    |W    |B    |B    |     |     |"
## [64] "   MI | 15006561 / R: 1163   ->1112     |     |B    |W    |W    |B    |W    |B    |B    |"

Extract Player’s Name, Player’s State, Total Number of Points, Player’s Pre-Rating, and Pre Chess Rating of Opponents from seperated data.

Player_Name <- str_trim(str_extract(Players, "(\\w+\\s){2,3}"))
Player_State <- str_extract(Ratings, "\\w\\w")
Total_Points <- as.numeric(str_extract(Players, "\\d.\\d"))
Players_Pre_Rating <- as.integer(str_extract(str_extract(Ratings, "\\D\\d{3,4}\\D"), "\\d+"))
Pre_Rating_Opponent <- str_extract_all(str_extract_all(Players, "\\d+\\|"), "\\d+")
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
Player_ID <- as.integer(str_extract(Players, "\\d+"))

str_extract caused NAs to be generated. I used str_extract twice to get rid of all the NAs. I used str_extract_all twice to remove “|” between each number. Kept getting an “argument is not an atomic vector; coercing”, ignored message since code was still working.

Create a new data frame to calculate average pre chess ratings of opponents.

Played_Rounds <- sapply(Pre_Rating_Opponent, length)
Num_Rounds <- seq_len(max(Played_Rounds)) # Rounds 1 to 7
Results <- t(sapply(Pre_Rating_Opponent, "[", i = Num_Rounds))
Chess_data <- as.data.frame(Results)
Chess_data
##    V1   V2   V3   V4   V5   V6   V7
## 1  39   21   18   14    7   12    4
## 2  63   58    4   17   16   20    7
## 3   8   61   25   21   11   13   12
## 4  23   28    2   26    5   19    1
## 5  45   37   12   13    4   14   17
## 6  34   29   11   35   10   27   21
## 7  57   46   13   11    1    9    2
## 8   3   32   14    9   47   28   19
## 9  25   18   59    8   26    7   20
## 10 16   19   55   31    6   25   18
## 11 38   56    6    7    3   34   26
## 12 42   33    5   38    1    3 <NA>
## 13 36   27    7    5   33    3   32
## 14 54   44    8    1   27    5   31
## 15 19   16   30   22   54   33   38
## 16 10   15   39    2   36 <NA> <NA>
## 17 48   41   26    2   23   22    5
## 18 47    9    1   32   19   38   10
## 19 15   10   52   28   18    4    8
## 20 40   49   23   41   28    2    9
## 21 43    1   47    3   40   39    6
## 22 64   52   28   15   17   40 <NA>
## 23  4   43   20   58   17   37   46
## 24 28   47   43   25   60   44   39
## 25  9   53    3   24   34   10   47
## 26 49   40   17    4    9   32   11
## 27 51   13   46   37   14    6 <NA>
## 28 24    4   22   19   20    8   36
## 29 50    6   38   34   52   48 <NA>
## 30 52   64   15   55   31   61   50
## 31 58   55   64   10   30   50   14
## 32 61    8   44   18   51   26   13
## 33 60   12   50   36   13   15   51
## 34  6   60   37   29   25   11   52
## 35 46   38   56    6   57   52   48
## 36 13   57   51   33   16   28 <NA>
## 37  5   34   27   23   61 <NA> <NA>
## 38 11   35   29   12   18   15 <NA>
## 39  1   54   40   16   44   21   24
## 40 20   26   39   59   21   56   22
## 41 59   17   58   20 <NA> <NA> <NA>
## 42 12   50   57   60   61   64   56
## 43 21   23   24   63   59   46   55
## 44 14   32   53   39   24   59 <NA>
## 45  5   51   60   56   63   55   58
## 46 35    7   27   50   64   43   23
## 47 18   24   21   61    8   51   25
## 48 17   63   52   29   35 <NA> <NA>
## 49 26   20   63   64   58 <NA> <NA>
## 50 29   42   33   46   31   30 <NA>
## 51 27   45   36   57   32   47   33
## 52 30   22   19   48   29   35   34
## 53 25   44   57 <NA> <NA> <NA> <NA>
## 54 14   39   61   15   59   64 <NA>
## 55 62   31   10   30   45   43 <NA>
## 56 11   35   45   40   42 <NA> <NA>
## 57  7   36   42   51   35   53 <NA>
## 58 31    2   41   23   49   45 <NA>
## 59 41    9   40   43   54   44 <NA>
## 60 33   34   45   42   24 <NA> <NA>
## 61 32    3   54   47   42   30   37
## 62 55 <NA> <NA> <NA> <NA> <NA> <NA>
## 63  2   48   49   43   45 <NA> <NA>
## 64 22   30   31   49   46   42   54

I need to replace each entry in the data frame with the player’s rating.

Entry <- data.frame(Player_ID, Players_Pre_Rating)
Chess_Tournament <- Chess_data
Chess_Tournament[] <- Entry$Players_Pre_Rating[match(unlist(Chess_Tournament), Entry$Player_ID)]
Chess_Tournament
##      V1   V2   V3   V4   V5   V6   V7
## 1  1436 1563 1600 1610 1649 1663 1716
## 2  1175  917 1716 1629 1604 1595 1649
## 3  1641  955 1745 1563 1712 1666 1663
## 4  1363 1507 1553 1579 1655 1564 1794
## 5  1242  980 1663 1666 1716 1610 1629
## 6  1399 1602 1712 1438 1365 1552 1563
## 7  1092  377 1666 1712 1794 1411 1553
## 8  1384 1441 1610 1411 1362 1507 1564
## 9  1745 1600  853 1641 1579 1649 1595
## 10 1604 1564 1186 1494 1686 1745 1600
## 11 1423 1153 1686 1649 1384 1399 1579
## 12 1332 1449 1655 1423 1794 1384   NA
## 13 1355 1552 1649 1655 1449 1384 1441
## 14 1270 1199 1641 1794 1552 1655 1494
## 15 1564 1604 1522 1555 1270 1449 1423
## 16 1365 1220 1436 1553 1355   NA   NA
## 17 1382 1403 1579 1553 1363 1555 1655
## 18 1362 1411 1794 1441 1564 1423 1365
## 19 1220 1365  935 1507 1600 1716 1641
## 20 1348 1291 1363 1403 1507 1553 1411
## 21 1283 1794 1362 1384 1348 1436 1686
## 22 1163  935 1507 1220 1629 1348   NA
## 23 1716 1283 1595  917 1629  980  377
## 24 1507 1362 1283 1745  967 1199 1436
## 25 1411 1393 1384 1229 1399 1365 1362
## 26 1291 1348 1629 1716 1411 1441 1712
## 27 1011 1666  377  980 1610 1686   NA
## 28 1229 1716 1555 1564 1595 1641 1355
## 29 1056 1686 1423 1399  935 1382   NA
## 30  935 1163 1220 1186 1494  955 1056
## 31  917 1186 1163 1365 1522 1056 1610
## 32  955 1641 1199 1600 1011 1579 1666
## 33  967 1663 1056 1355 1666 1220 1011
## 34 1686  967  980 1602 1745 1712  935
## 35  377 1423 1153 1686 1092  935 1382
## 36 1666 1092 1011 1449 1604 1507   NA
## 37 1655 1399 1552 1363  955   NA   NA
## 38 1712 1438 1602 1663 1600 1220   NA
## 39 1794 1270 1348 1604 1199 1563 1229
## 40 1595 1579 1436  853 1563 1153 1555
## 41  853 1629  917 1595   NA   NA   NA
## 42 1663 1056 1092  967  955 1163 1153
## 43 1563 1363 1229 1175  853  377 1186
## 44 1610 1441 1393 1436 1229  853   NA
## 45 1655 1011  967 1153 1175 1186  917
## 46 1438 1649 1552 1056 1163 1283 1363
## 47 1600 1229 1563  955 1641 1011 1745
## 48 1629 1175  935 1602 1438   NA   NA
## 49 1579 1595 1175 1163  917   NA   NA
## 50 1602 1332 1449  377 1494 1522   NA
## 51 1552 1242 1355 1092 1441 1362 1449
## 52 1522 1555 1564 1382 1602 1438 1399
## 53 1745 1199 1092   NA   NA   NA   NA
## 54 1610 1436  955 1220  853 1163   NA
## 55 1530 1494 1365 1522 1242 1283   NA
## 56 1712 1438 1242 1348 1332   NA   NA
## 57 1649 1355 1332 1011 1438 1393   NA
## 58 1494 1553 1403 1363 1291 1242   NA
## 59 1403 1411 1348 1283 1270 1199   NA
## 60 1449 1399 1242 1332 1229   NA   NA
## 61 1441 1384 1270 1362 1332 1522  980
## 62 1186   NA   NA   NA   NA   NA   NA
## 63 1553 1382 1291 1283 1242   NA   NA
## 64 1555 1522 1494 1291  377 1332 1270
Chess_Tournament$Avg <- round(apply(Chess_Tournament, 1, mean, na.rm = TRUE))
Chess_Tournament
##      V1   V2   V3   V4   V5   V6   V7  Avg
## 1  1436 1563 1600 1610 1649 1663 1716 1605
## 2  1175  917 1716 1629 1604 1595 1649 1469
## 3  1641  955 1745 1563 1712 1666 1663 1564
## 4  1363 1507 1553 1579 1655 1564 1794 1574
## 5  1242  980 1663 1666 1716 1610 1629 1501
## 6  1399 1602 1712 1438 1365 1552 1563 1519
## 7  1092  377 1666 1712 1794 1411 1553 1372
## 8  1384 1441 1610 1411 1362 1507 1564 1468
## 9  1745 1600  853 1641 1579 1649 1595 1523
## 10 1604 1564 1186 1494 1686 1745 1600 1554
## 11 1423 1153 1686 1649 1384 1399 1579 1468
## 12 1332 1449 1655 1423 1794 1384   NA 1506
## 13 1355 1552 1649 1655 1449 1384 1441 1498
## 14 1270 1199 1641 1794 1552 1655 1494 1515
## 15 1564 1604 1522 1555 1270 1449 1423 1484
## 16 1365 1220 1436 1553 1355   NA   NA 1386
## 17 1382 1403 1579 1553 1363 1555 1655 1499
## 18 1362 1411 1794 1441 1564 1423 1365 1480
## 19 1220 1365  935 1507 1600 1716 1641 1426
## 20 1348 1291 1363 1403 1507 1553 1411 1411
## 21 1283 1794 1362 1384 1348 1436 1686 1470
## 22 1163  935 1507 1220 1629 1348   NA 1300
## 23 1716 1283 1595  917 1629  980  377 1214
## 24 1507 1362 1283 1745  967 1199 1436 1357
## 25 1411 1393 1384 1229 1399 1365 1362 1363
## 26 1291 1348 1629 1716 1411 1441 1712 1507
## 27 1011 1666  377  980 1610 1686   NA 1222
## 28 1229 1716 1555 1564 1595 1641 1355 1522
## 29 1056 1686 1423 1399  935 1382   NA 1314
## 30  935 1163 1220 1186 1494  955 1056 1144
## 31  917 1186 1163 1365 1522 1056 1610 1260
## 32  955 1641 1199 1600 1011 1579 1666 1379
## 33  967 1663 1056 1355 1666 1220 1011 1277
## 34 1686  967  980 1602 1745 1712  935 1375
## 35  377 1423 1153 1686 1092  935 1382 1150
## 36 1666 1092 1011 1449 1604 1507   NA 1388
## 37 1655 1399 1552 1363  955   NA   NA 1385
## 38 1712 1438 1602 1663 1600 1220   NA 1539
## 39 1794 1270 1348 1604 1199 1563 1229 1430
## 40 1595 1579 1436  853 1563 1153 1555 1391
## 41  853 1629  917 1595   NA   NA   NA 1248
## 42 1663 1056 1092  967  955 1163 1153 1150
## 43 1563 1363 1229 1175  853  377 1186 1107
## 44 1610 1441 1393 1436 1229  853   NA 1327
## 45 1655 1011  967 1153 1175 1186  917 1152
## 46 1438 1649 1552 1056 1163 1283 1363 1358
## 47 1600 1229 1563  955 1641 1011 1745 1392
## 48 1629 1175  935 1602 1438   NA   NA 1356
## 49 1579 1595 1175 1163  917   NA   NA 1286
## 50 1602 1332 1449  377 1494 1522   NA 1296
## 51 1552 1242 1355 1092 1441 1362 1449 1356
## 52 1522 1555 1564 1382 1602 1438 1399 1495
## 53 1745 1199 1092   NA   NA   NA   NA 1345
## 54 1610 1436  955 1220  853 1163   NA 1206
## 55 1530 1494 1365 1522 1242 1283   NA 1406
## 56 1712 1438 1242 1348 1332   NA   NA 1414
## 57 1649 1355 1332 1011 1438 1393   NA 1363
## 58 1494 1553 1403 1363 1291 1242   NA 1391
## 59 1403 1411 1348 1283 1270 1199   NA 1319
## 60 1449 1399 1242 1332 1229   NA   NA 1330
## 61 1441 1384 1270 1362 1332 1522  980 1327
## 62 1186   NA   NA   NA   NA   NA   NA 1186
## 63 1553 1382 1291 1283 1242   NA   NA 1350
## 64 1555 1522 1494 1291  377 1332 1270 1263

Combine everything into a single data frame

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

Generate a .csv file

write.csv(Chess_Final, file = "Data 607 Project 1.csv")