#In this assignment we are asked to transform the provided data into a data frame with Player's Name, Player's State, Total Number of Points, Player's Pre Rating and Average Pre-Chess Rating of Opponets.
#First we read the table, and names of columns are assigned accoring to the txt file. Since each line ends with |, the character is used as a delimeter. The first 4 rows of the table are ignored since they do not have any data.
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.2.1 ──
## ✔ ggplot2 2.2.1 ✔ purrr 0.2.4
## ✔ tibble 1.4.1 ✔ dplyr 0.7.4
## ✔ tidyr 0.7.2 ✔ stringr 1.2.0
## ✔ readr 1.1.1 ✔ forcats 0.2.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
chess_fields <-c("Number", "Name", "Points", "R1", "R2", "R3", "R4", "R5", "R6", "R7", "EOL")
tournament <- read.table("./tournamentinfo.txt",
header = FALSE, skip = 4, sep = "|",
fill = TRUE, stringsAsFactors = FALSE,
col.names = chess_fields)
#The rows that are used to separate are removed as well as the EOL column since they are not needed for the purposes of this assignment.
tournament <-subset(tournament, !Name == "",
select = c(Number:R7))
tournament
## Number Name Points R1 R2 R3
## 1 1 GARY HUA 6.0 W 39 W 21 W 18
## 2 ON 15445895 / R: 1794 ->1817 N:2 W B W
## 4 2 DAKSHESH DARURI 6.0 W 63 W 58 L 4
## 5 MI 14598900 / R: 1553 ->1663 N:2 B W B
## 7 3 ADITYA BAJAJ 6.0 L 8 W 61 W 25
## 8 MI 14959604 / R: 1384 ->1640 N:2 W B W
## 10 4 PATRICK H SCHILLING 5.5 W 23 D 28 W 2
## 11 MI 12616049 / R: 1716 ->1744 N:2 W B W
## 13 5 HANSHI ZUO 5.5 W 45 W 37 D 12
## 14 MI 14601533 / R: 1655 ->1690 N:2 B W B
## 16 6 HANSEN SONG 5.0 W 34 D 29 L 11
## 17 OH 15055204 / R: 1686 ->1687 N:3 W B W
## 19 7 GARY DEE SWATHELL 5.0 W 57 W 46 W 13
## 20 MI 11146376 / R: 1649 ->1673 N:3 W B W
## 22 8 EZEKIEL HOUGHTON 5.0 W 3 W 32 L 14
## 23 MI 15142253 / R: 1641P17->1657P24 N:3 B W B
## 25 9 STEFANO LEE 5.0 W 25 L 18 W 59
## 26 ON 14954524 / R: 1411 ->1564 N:2 W B W
## 28 10 ANVIT RAO 5.0 D 16 L 19 W 55
## 29 MI 14150362 / R: 1365 ->1544 N:3 W W B
## 31 11 CAMERON WILLIAM MC LEMAN 4.5 D 38 W 56 W 6
## 32 MI 12581589 / R: 1712 ->1696 N:3 B W B
## 34 12 KENNETH J TACK 4.5 W 42 W 33 D 5
## 35 MI 12681257 / R: 1663 ->1670 N:3 W B W
## 37 13 TORRANCE HENRY JR 4.5 W 36 W 27 L 7
## 38 MI 15082995 / R: 1666 ->1662 N:3 B W B
## 40 14 BRADLEY SHAW 4.5 W 54 W 44 W 8
## 41 MI 10131499 / R: 1610 ->1618 N:3 W B W
## 43 15 ZACHARY JAMES HOUGHTON 4.5 D 19 L 16 W 30
## 44 MI 15619130 / R: 1220P13->1416P20 N:3 B B W
## 46 16 MIKE NIKITIN 4.0 D 10 W 15 H
## 47 MI 10295068 / R: 1604 ->1613 N:3 B W
## 49 17 RONALD GRZEGORCZYK 4.0 W 48 W 41 L 26
## 50 MI 10297702 / R: 1629 ->1610 N:3 W B W
## 52 18 DAVID SUNDEEN 4.0 W 47 W 9 L 1
## 53 MI 11342094 / R: 1600 ->1600 N:3 B W B
## 55 19 DIPANKAR ROY 4.0 D 15 W 10 W 52
## 56 MI 14862333 / R: 1564 ->1570 N:3 W B W
## 58 20 JASON ZHENG 4.0 L 40 W 49 W 23
## 59 MI 14529060 / R: 1595 ->1569 N:4 W B W
## 61 21 DINH DANG BUI 4.0 W 43 L 1 W 47
## 62 ON 15495066 / R: 1563P22->1562 N:3 B W B
## 64 22 EUGENE L MCCLURE 4.0 W 64 D 52 L 28
## 65 MI 12405534 / R: 1555 ->1529 N:4 W B W
## 67 23 ALAN BUI 4.0 L 4 W 43 L 20
## 68 ON 15030142 / R: 1363 ->1371 B W B
## 70 24 MICHAEL R ALDRICH 4.0 L 28 L 47 W 43
## 71 MI 13469010 / R: 1229 ->1300 N:4 B W B
## 73 25 LOREN SCHWIEBERT 3.5 L 9 W 53 L 3
## 74 MI 12486656 / R: 1745 ->1681 N:4 B W B
## 76 26 MAX ZHU 3.5 W 49 W 40 W 17
## 77 ON 15131520 / R: 1579 ->1564 N:4 B W B
## 79 27 GAURAV GIDWANI 3.5 W 51 L 13 W 46
## 80 MI 14476567 / R: 1552 ->1539 N:4 W B W
## 82 28 SOFIA ADINA STANESCU-BELLU 3.5 W 24 D 4 W 22
## 83 MI 14882954 / R: 1507 ->1513 N:3 W W B
## 85 29 CHIEDOZIE OKORIE 3.5 W 50 D 6 L 38
## 86 MI 15323285 / R: 1602P6 ->1508P12 N:4 B W B
## 88 30 GEORGE AVERY JONES 3.5 L 52 D 64 L 15
## 89 ON 12577178 / R: 1522 ->1444 W B B
## 91 31 RISHI SHETTY 3.5 L 58 D 55 W 64
## 92 MI 15131618 / R: 1494 ->1444 B W B
## 94 32 JOSHUA PHILIP MATHEWS 3.5 W 61 L 8 W 44
## 95 ON 14073750 / R: 1441 ->1433 N:4 W B W
## 97 33 JADE GE 3.5 W 60 L 12 W 50
## 98 MI 14691842 / R: 1449 ->1421 B W B
## 100 34 MICHAEL JEFFERY THOMAS 3.5 L 6 W 60 L 37
## 101 MI 15051807 / R: 1399 ->1400 B W B
## 103 35 JOSHUA DAVID LEE 3.5 L 46 L 38 W 56
## 104 MI 14601397 / R: 1438 ->1392 W W B
## 106 36 SIDDHARTH JHA 3.5 L 13 W 57 W 51
## 107 MI 14773163 / R: 1355 ->1367 N:4 W B W
## 109 37 AMIYATOSH PWNANANDAM 3.5 B L 5 W 34
## 110 MI 15489571 / R: 980P12->1077P17 B W
## 112 38 BRIAN LIU 3.0 D 11 W 35 W 29
## 113 MI 15108523 / R: 1423 ->1439 N:4 W B W
## 115 39 JOEL R HENDON 3.0 L 1 W 54 W 40
## 116 MI 12923035 / R: 1436P23->1413 N:4 B W B
## 118 40 FOREST ZHANG 3.0 W 20 L 26 L 39
## 119 MI 14892710 / R: 1348 ->1346 B B W
## 121 41 KYLE WILLIAM MURPHY 3.0 W 59 L 17 W 58
## 122 MI 15761443 / R: 1403P5 ->1341P9 B W B
## 124 42 JARED GE 3.0 L 12 L 50 L 57
## 125 MI 14462326 / R: 1332 ->1256 B W B
## 127 43 ROBERT GLEN VASEY 3.0 L 21 L 23 L 24
## 128 MI 14101068 / R: 1283 ->1244 W B W
## 130 44 JUSTIN D SCHILLING 3.0 B L 14 L 32
## 131 MI 15323504 / R: 1199 ->1199 W B
## 133 45 DEREK YAN 3.0 L 5 L 51 D 60
## 134 MI 15372807 / R: 1242 ->1191 W B W
## 136 46 JACOB ALEXANDER LAVALLEY 3.0 W 35 L 7 L 27
## 137 MI 15490981 / R: 377P3 ->1076P10 B W B
## 139 47 ERIC WRIGHT 2.5 L 18 W 24 L 21
## 140 MI 12533115 / R: 1362 ->1341 W B W
## 142 48 DANIEL KHAIN 2.5 L 17 W 63 H
## 143 MI 14369165 / R: 1382 ->1335 B W
## 145 49 MICHAEL J MARTIN 2.5 L 26 L 20 D 63
## 146 MI 12531685 / R: 1291P12->1259P17 W W B
## 148 50 SHIVAM JHA 2.5 L 29 W 42 L 33
## 149 MI 14773178 / R: 1056 ->1111 W B W
## 151 51 TEJAS AYYAGARI 2.5 L 27 W 45 L 36
## 152 MI 15205474 / R: 1011 ->1097 B W B
## 154 52 ETHAN GUO 2.5 W 30 D 22 L 19
## 155 MI 14918803 / R: 935 ->1092 N:4 B W B
## 157 53 JOSE C YBARRA 2.0 H L 25 H
## 158 MI 12578849 / R: 1393 ->1359 B
## 160 54 LARRY HODGE 2.0 L 14 L 39 L 61
## 161 MI 12836773 / R: 1270 ->1200 B B W
## 163 55 ALEX KONG 2.0 L 62 D 31 L 10
## 164 MI 15412571 / R: 1186 ->1163 W B W
## 166 56 MARISA RICCI 2.0 H L 11 L 35
## 167 MI 14679887 / R: 1153 ->1140 B W
## 169 57 MICHAEL LU 2.0 L 7 L 36 W 42
## 170 MI 15113330 / R: 1092 ->1079 B W W
## 172 58 VIRAJ MOHILE 2.0 W 31 L 2 L 41
## 173 MI 14700365 / R: 917 -> 941 W B W
## 175 59 SEAN M MC CORMICK 2.0 L 41 B L 9
## 176 MI 12841036 / R: 853 -> 878 W B
## 178 60 JULIA SHEN 1.5 L 33 L 34 D 45
## 179 MI 14579262 / R: 967 -> 984 W B B
## 181 61 JEZZEL FARKAS 1.5 L 32 L 3 W 54
## 182 ON 15771592 / R: 955P11-> 979P18 B W B
## 184 62 ASHWIN BALAJI 1.0 W 55 U U
## 185 MI 15219542 / R: 1530 ->1535 B
## 187 63 THOMAS JOSEPH HOSMER 1.0 L 2 L 48 D 49
## 188 MI 15057092 / R: 1175 ->1125 W B W
## 190 64 BEN LI 1.0 L 22 D 30 L 31
## 191 MI 15006561 / R: 1163 ->1112 B W W
## R4 R5 R6 R7
## 1 W 14 W 7 D 12 D 4
## 2 B W B W
## 4 W 17 W 16 W 20 W 7
## 5 W B W B
## 7 W 21 W 11 W 13 W 12
## 8 B W B W
## 10 W 26 D 5 W 19 D 1
## 11 B W B B
## 13 D 13 D 4 W 14 W 17
## 14 W B W B
## 16 W 35 D 10 W 27 W 21
## 17 B B W B
## 19 W 11 L 1 W 9 L 2
## 20 B B W W
## 22 L 9 W 47 W 28 W 19
## 23 W B W W
## 25 W 8 W 26 L 7 W 20
## 26 B W B B
## 28 W 31 D 6 W 25 W 18
## 29 B W B W
## 31 L 7 L 3 W 34 W 26
## 32 W B W B
## 34 W 38 H D 1 L 3
## 35 B W B
## 37 D 5 W 33 L 3 W 32
## 38 B W W B
## 40 L 1 D 27 L 5 W 31
## 41 W B B W
## 43 L 22 W 54 W 33 W 38
## 44 W B B W
## 46 W 39 L 2 W 36 U
## 47 B W B
## 49 L 2 W 23 W 22 L 5
## 50 B W B W
## 52 W 32 L 19 W 38 L 10
## 53 W B W B
## 55 D 28 W 18 L 4 L 8
## 56 B W W B
## 58 W 41 W 28 L 2 L 9
## 59 B W B W
## 61 L 3 W 40 W 39 L 6
## 62 W W B W
## 64 W 15 H L 17 W 40
## 65 B W B
## 67 W 58 L 17 W 37 W 46
## 68 W B W B
## 70 L 25 W 60 W 44 W 39
## 71 B W W B
## 73 W 24 D 34 L 10 W 47
## 74 W B W B
## 76 L 4 L 9 D 32 L 11
## 77 W B W W
## 79 W 37 D 14 L 6 U
## 80 B W B
## 82 D 19 L 20 L 8 D 36
## 83 W B B W
## 85 L 34 W 52 W 48 U
## 86 W W B
## 88 W 55 L 31 W 61 W 50
## 89 W W B B
## 91 L 10 W 30 W 50 L 14
## 92 W B W B
## 94 L 18 W 51 D 26 L 13
## 95 B W B W
## 97 D 36 L 13 L 15 W 51
## 98 W B W B
## 100 W 29 D 25 L 11 W 52
## 101 B W B W
## 103 L 6 W 57 D 52 W 48
## 104 W B B W
## 106 D 33 H L 16 D 28
## 107 B W B
## 109 L 27 H L 23 W 61
## 110 W B W
## 112 L 12 H L 18 L 15
## 113 W B B
## 115 L 16 W 44 L 21 L 24
## 116 W B W W
## 118 W 59 L 21 W 56 L 22
## 119 W B W W
## 121 L 20 X U U
## 122 W
## 124 D 60 D 61 W 64 W 56
## 125 B W W B
## 127 W 63 W 59 L 46 W 55
## 128 W B B W
## 130 W 53 L 39 L 24 W 59
## 131 B W B W
## 133 L 56 W 63 D 55 W 58
## 134 B W B W
## 136 L 50 W 64 W 43 L 23
## 137 W B W W
## 139 W 61 L 8 D 51 L 25
## 140 B W B W
## 142 D 52 H L 29 L 35
## 143 B W B
## 145 D 64 W 58 H U
## 146 W B
## 148 W 46 H L 31 L 30
## 149 B B W
## 151 W 57 L 32 D 47 L 33
## 152 W B W W
## 154 D 48 L 29 D 35 L 34
## 155 W B W B
## 157 L 44 U W 57 U
## 158 W W
## 160 B L 15 L 59 W 64
## 161 W B W
## 163 L 30 B D 45 L 43
## 164 B W B
## 166 W 45 H L 40 L 42
## 167 W B W
## 169 L 51 L 35 L 53 B
## 170 B W B
## 172 L 23 L 49 B L 45
## 173 B W B
## 175 L 40 L 43 W 54 L 44
## 176 B W W B
## 178 D 42 L 24 H U
## 179 W B
## 181 L 47 D 42 L 30 L 37
## 182 W B W B
## 184 U U U U
## 185
## 187 L 43 L 45 H U
## 188 B B
## 190 D 49 L 46 L 42 L 54
## 191 B W B B
library(stringr)
for (i in 1:length(tournament)) {
tournament[, i] <- str_trim(tournament[, i])
}
#Now each column is trimmed to remove all the extra spaces and single row is created for each player. Also, each player's pre rating and state are taken from underneath their name and put into a separate column.
for (i in 1:nrow(tournament)) {
tournament$State[i] <- tournament$Number[i + 1]
tournament$Player[i] <- str_trim(str_extract
(tournament$Name[i + 1],
"[[:blank:]]{1}[[:digit:]]{3,4}"))
}
tournament <-subset(tournament, !is.na(Player))
tournament
## Number Name Points R1 R2 R3 R4 R5
## 1 1 GARY HUA 6.0 W 39 W 21 W 18 W 14 W 7
## 4 2 DAKSHESH DARURI 6.0 W 63 W 58 L 4 W 17 W 16
## 7 3 ADITYA BAJAJ 6.0 L 8 W 61 W 25 W 21 W 11
## 10 4 PATRICK H SCHILLING 5.5 W 23 D 28 W 2 W 26 D 5
## 13 5 HANSHI ZUO 5.5 W 45 W 37 D 12 D 13 D 4
## 16 6 HANSEN SONG 5.0 W 34 D 29 L 11 W 35 D 10
## 19 7 GARY DEE SWATHELL 5.0 W 57 W 46 W 13 W 11 L 1
## 22 8 EZEKIEL HOUGHTON 5.0 W 3 W 32 L 14 L 9 W 47
## 25 9 STEFANO LEE 5.0 W 25 L 18 W 59 W 8 W 26
## 28 10 ANVIT RAO 5.0 D 16 L 19 W 55 W 31 D 6
## 31 11 CAMERON WILLIAM MC LEMAN 4.5 D 38 W 56 W 6 L 7 L 3
## 34 12 KENNETH J TACK 4.5 W 42 W 33 D 5 W 38 H
## 37 13 TORRANCE HENRY JR 4.5 W 36 W 27 L 7 D 5 W 33
## 40 14 BRADLEY SHAW 4.5 W 54 W 44 W 8 L 1 D 27
## 43 15 ZACHARY JAMES HOUGHTON 4.5 D 19 L 16 W 30 L 22 W 54
## 46 16 MIKE NIKITIN 4.0 D 10 W 15 H W 39 L 2
## 49 17 RONALD GRZEGORCZYK 4.0 W 48 W 41 L 26 L 2 W 23
## 52 18 DAVID SUNDEEN 4.0 W 47 W 9 L 1 W 32 L 19
## 55 19 DIPANKAR ROY 4.0 D 15 W 10 W 52 D 28 W 18
## 58 20 JASON ZHENG 4.0 L 40 W 49 W 23 W 41 W 28
## 61 21 DINH DANG BUI 4.0 W 43 L 1 W 47 L 3 W 40
## 64 22 EUGENE L MCCLURE 4.0 W 64 D 52 L 28 W 15 H
## 67 23 ALAN BUI 4.0 L 4 W 43 L 20 W 58 L 17
## 70 24 MICHAEL R ALDRICH 4.0 L 28 L 47 W 43 L 25 W 60
## 73 25 LOREN SCHWIEBERT 3.5 L 9 W 53 L 3 W 24 D 34
## 76 26 MAX ZHU 3.5 W 49 W 40 W 17 L 4 L 9
## 79 27 GAURAV GIDWANI 3.5 W 51 L 13 W 46 W 37 D 14
## 82 28 SOFIA ADINA STANESCU-BELLU 3.5 W 24 D 4 W 22 D 19 L 20
## 85 29 CHIEDOZIE OKORIE 3.5 W 50 D 6 L 38 L 34 W 52
## 88 30 GEORGE AVERY JONES 3.5 L 52 D 64 L 15 W 55 L 31
## 91 31 RISHI SHETTY 3.5 L 58 D 55 W 64 L 10 W 30
## 94 32 JOSHUA PHILIP MATHEWS 3.5 W 61 L 8 W 44 L 18 W 51
## 97 33 JADE GE 3.5 W 60 L 12 W 50 D 36 L 13
## 100 34 MICHAEL JEFFERY THOMAS 3.5 L 6 W 60 L 37 W 29 D 25
## 103 35 JOSHUA DAVID LEE 3.5 L 46 L 38 W 56 L 6 W 57
## 106 36 SIDDHARTH JHA 3.5 L 13 W 57 W 51 D 33 H
## 109 37 AMIYATOSH PWNANANDAM 3.5 B L 5 W 34 L 27 H
## 112 38 BRIAN LIU 3.0 D 11 W 35 W 29 L 12 H
## 115 39 JOEL R HENDON 3.0 L 1 W 54 W 40 L 16 W 44
## 118 40 FOREST ZHANG 3.0 W 20 L 26 L 39 W 59 L 21
## 121 41 KYLE WILLIAM MURPHY 3.0 W 59 L 17 W 58 L 20 X
## 124 42 JARED GE 3.0 L 12 L 50 L 57 D 60 D 61
## 127 43 ROBERT GLEN VASEY 3.0 L 21 L 23 L 24 W 63 W 59
## 130 44 JUSTIN D SCHILLING 3.0 B L 14 L 32 W 53 L 39
## 133 45 DEREK YAN 3.0 L 5 L 51 D 60 L 56 W 63
## 136 46 JACOB ALEXANDER LAVALLEY 3.0 W 35 L 7 L 27 L 50 W 64
## 139 47 ERIC WRIGHT 2.5 L 18 W 24 L 21 W 61 L 8
## 142 48 DANIEL KHAIN 2.5 L 17 W 63 H D 52 H
## 145 49 MICHAEL J MARTIN 2.5 L 26 L 20 D 63 D 64 W 58
## 148 50 SHIVAM JHA 2.5 L 29 W 42 L 33 W 46 H
## 151 51 TEJAS AYYAGARI 2.5 L 27 W 45 L 36 W 57 L 32
## 154 52 ETHAN GUO 2.5 W 30 D 22 L 19 D 48 L 29
## 157 53 JOSE C YBARRA 2.0 H L 25 H L 44 U
## 160 54 LARRY HODGE 2.0 L 14 L 39 L 61 B L 15
## 163 55 ALEX KONG 2.0 L 62 D 31 L 10 L 30 B
## 166 56 MARISA RICCI 2.0 H L 11 L 35 W 45 H
## 169 57 MICHAEL LU 2.0 L 7 L 36 W 42 L 51 L 35
## 172 58 VIRAJ MOHILE 2.0 W 31 L 2 L 41 L 23 L 49
## 175 59 SEAN M MC CORMICK 2.0 L 41 B L 9 L 40 L 43
## 178 60 JULIA SHEN 1.5 L 33 L 34 D 45 D 42 L 24
## 181 61 JEZZEL FARKAS 1.5 L 32 L 3 W 54 L 47 D 42
## 184 62 ASHWIN BALAJI 1.0 W 55 U U U U
## 187 63 THOMAS JOSEPH HOSMER 1.0 L 2 L 48 D 49 L 43 L 45
## 190 64 BEN LI 1.0 L 22 D 30 L 31 D 49 L 46
## R6 R7 State Player
## 1 D 12 D 4 ON 1794
## 4 W 20 W 7 MI 1553
## 7 W 13 W 12 MI 1384
## 10 W 19 D 1 MI 1716
## 13 W 14 W 17 MI 1655
## 16 W 27 W 21 OH 1686
## 19 W 9 L 2 MI 1649
## 22 W 28 W 19 MI 1641
## 25 L 7 W 20 ON 1411
## 28 W 25 W 18 MI 1365
## 31 W 34 W 26 MI 1712
## 34 D 1 L 3 MI 1663
## 37 L 3 W 32 MI 1666
## 40 L 5 W 31 MI 1610
## 43 W 33 W 38 MI 1220
## 46 W 36 U MI 1604
## 49 W 22 L 5 MI 1629
## 52 W 38 L 10 MI 1600
## 55 L 4 L 8 MI 1564
## 58 L 2 L 9 MI 1595
## 61 W 39 L 6 ON 1563
## 64 L 17 W 40 MI 1555
## 67 W 37 W 46 ON 1363
## 70 W 44 W 39 MI 1229
## 73 L 10 W 47 MI 1745
## 76 D 32 L 11 ON 1579
## 79 L 6 U MI 1552
## 82 L 8 D 36 MI 1507
## 85 W 48 U MI 1602
## 88 W 61 W 50 ON 1522
## 91 W 50 L 14 MI 1494
## 94 D 26 L 13 ON 1441
## 97 L 15 W 51 MI 1449
## 100 L 11 W 52 MI 1399
## 103 D 52 W 48 MI 1438
## 106 L 16 D 28 MI 1355
## 109 L 23 W 61 MI 980
## 112 L 18 L 15 MI 1423
## 115 L 21 L 24 MI 1436
## 118 W 56 L 22 MI 1348
## 121 U U MI 1403
## 124 W 64 W 56 MI 1332
## 127 L 46 W 55 MI 1283
## 130 L 24 W 59 MI 1199
## 133 D 55 W 58 MI 1242
## 136 W 43 L 23 MI 377
## 139 D 51 L 25 MI 1362
## 142 L 29 L 35 MI 1382
## 145 H U MI 1291
## 148 L 31 L 30 MI 1056
## 151 D 47 L 33 MI 1011
## 154 D 35 L 34 MI 935
## 157 W 57 U MI 1393
## 160 L 59 W 64 MI 1270
## 163 D 45 L 43 MI 1186
## 166 L 40 L 42 MI 1153
## 169 L 53 B MI 1092
## 172 B L 45 MI 917
## 175 W 54 L 44 MI 853
## 178 H U MI 967
## 181 L 30 L 37 ON 955
## 184 U U MI 1530
## 187 H U MI 1175
## 190 L 42 L 54 MI 1163
#Each round in which a player played a match is represented by the result of the match, followed by a space and then the opponent’s number.
for (i in 4:10) {
tournament[, i] <-str_trim(str_extract(tournament[, i],
"[[:space:]]+[[:digit:]]{1,2}"))
}
#Now the ratings are found by each player faced.
for (i in 1:nrow(tournament)) {
for(j in 4:10) {
tournament[i,j] <- tournament[tournament$Number == tournament[i,j],12][1]
}
}
#The Opponents Rating's are calculated by pulling in their pre-ratings and the total number of ratings or the means. Before that the total number of points and pre-ratings are converted into numbers.
for (i in 4:10) {
tournament[, i] <- as.numeric(tournament[, i])
}
tournament$Player <- as.numeric(tournament$Player)
tournament$Points <- as.numeric(tournament$Points)
tournament$Opponent <- round(rowMeans(tournament[, c(4:10)],
na.rm = TRUE), 1)
#The new columns are saved into a new data frame and the data frame is exported as a csv file. Some descriptive statistics are performed for exploratory purposes.
tournamentData<-write.table(tournament, file = "tournamentData.csv",
row.names=FALSE, na="",
col.names=TRUE, sep=",")
tdata<-read.csv("tournamentData.csv", header=TRUE)
tdata
## Number Name Points R1 R2 R3 R4 R5 R6
## 1 1 GARY HUA 6.0 1436 1563 1600 1610 1649 1663
## 2 2 DAKSHESH DARURI 6.0 1175 917 1716 1629 1604 1595
## 3 3 ADITYA BAJAJ 6.0 1641 955 1745 1563 1712 1666
## 4 4 PATRICK H SCHILLING 5.5 1363 1507 1553 1579 1655 1564
## 5 5 HANSHI ZUO 5.5 1242 980 1663 1666 1716 1610
## 6 6 HANSEN SONG 5.0 1399 1602 1712 1438 1365 1552
## 7 7 GARY DEE SWATHELL 5.0 1092 377 1666 1712 1794 1411
## 8 8 EZEKIEL HOUGHTON 5.0 1384 1441 1610 1411 1362 1507
## 9 9 STEFANO LEE 5.0 1745 1600 853 1641 1579 1649
## 10 10 ANVIT RAO 5.0 1604 1564 1186 1494 1686 1745
## 11 11 CAMERON WILLIAM MC LEMAN 4.5 1423 1153 1686 1649 1384 1399
## 12 12 KENNETH J TACK 4.5 1332 1449 1655 1423 NA 1794
## 13 13 TORRANCE HENRY JR 4.5 1355 1552 1649 1655 1449 1384
## 14 14 BRADLEY SHAW 4.5 1270 1199 1641 1794 1552 1655
## 15 15 ZACHARY JAMES HOUGHTON 4.5 1564 1604 1522 1555 1270 1449
## 16 16 MIKE NIKITIN 4.0 1365 1220 NA 1436 1553 1355
## 17 17 RONALD GRZEGORCZYK 4.0 1382 1403 1579 1553 1363 1555
## 18 18 DAVID SUNDEEN 4.0 1362 1411 1794 1441 1564 1423
## 19 19 DIPANKAR ROY 4.0 1220 1365 935 1507 1600 1716
## 20 20 JASON ZHENG 4.0 1348 1291 1363 1403 1507 1553
## 21 21 DINH DANG BUI 4.0 1283 1794 1362 1384 1348 1436
## 22 22 EUGENE L MCCLURE 4.0 1163 935 1507 1220 NA 1629
## 23 23 ALAN BUI 4.0 1716 1283 1595 917 1629 980
## 24 24 MICHAEL R ALDRICH 4.0 1507 1362 1283 1745 967 1199
## 25 25 LOREN SCHWIEBERT 3.5 1411 1393 1384 1229 1399 1365
## 26 26 MAX ZHU 3.5 1291 1348 1629 1716 1411 1441
## 27 27 GAURAV GIDWANI 3.5 1011 1666 377 980 1610 1686
## 28 28 SOFIA ADINA STANESCU-BELLU 3.5 1229 1716 1555 1564 1595 1641
## 29 29 CHIEDOZIE OKORIE 3.5 1056 1686 1423 1399 935 1382
## 30 30 GEORGE AVERY JONES 3.5 935 1163 1220 1186 1494 955
## 31 31 RISHI SHETTY 3.5 917 1186 1163 1365 1522 1056
## 32 32 JOSHUA PHILIP MATHEWS 3.5 955 1641 1199 1600 1011 1579
## 33 33 JADE GE 3.5 967 1663 1056 1355 1666 1220
## 34 34 MICHAEL JEFFERY THOMAS 3.5 1686 967 980 1602 1745 1712
## 35 35 JOSHUA DAVID LEE 3.5 377 1423 1153 1686 1092 935
## 36 36 SIDDHARTH JHA 3.5 1666 1092 1011 1449 NA 1604
## 37 37 AMIYATOSH PWNANANDAM 3.5 NA 1655 1399 1552 NA 1363
## 38 38 BRIAN LIU 3.0 1712 1438 1602 1663 NA 1600
## 39 39 JOEL R HENDON 3.0 1794 1270 1348 1604 1199 1563
## 40 40 FOREST ZHANG 3.0 1595 1579 1436 853 1563 1153
## 41 41 KYLE WILLIAM MURPHY 3.0 853 1629 917 1595 NA NA
## 42 42 JARED GE 3.0 1663 1056 1092 967 955 1163
## 43 43 ROBERT GLEN VASEY 3.0 1563 1363 1229 1175 853 377
## 44 44 JUSTIN D SCHILLING 3.0 NA 1610 1441 1393 1436 1229
## 45 45 DEREK YAN 3.0 1655 1011 967 1153 1175 1186
## 46 46 JACOB ALEXANDER LAVALLEY 3.0 1438 1649 1552 1056 1163 1283
## 47 47 ERIC WRIGHT 2.5 1600 1229 1563 955 1641 1011
## 48 48 DANIEL KHAIN 2.5 1629 1175 NA 935 NA 1602
## 49 49 MICHAEL J MARTIN 2.5 1579 1595 1175 1163 917 NA
## 50 50 SHIVAM JHA 2.5 1602 1332 1449 377 NA 1494
## 51 51 TEJAS AYYAGARI 2.5 1552 1242 1355 1092 1441 1362
## 52 52 ETHAN GUO 2.5 1522 1555 1564 1382 1602 1438
## 53 53 JOSE C YBARRA 2.0 NA 1745 NA 1199 NA 1092
## 54 54 LARRY HODGE 2.0 1610 1436 955 NA 1220 853
## 55 55 ALEX KONG 2.0 1530 1494 1365 1522 NA 1242
## 56 56 MARISA RICCI 2.0 NA 1712 1438 1242 NA 1348
## 57 57 MICHAEL LU 2.0 1649 1355 1332 1011 1438 1393
## 58 58 VIRAJ MOHILE 2.0 1494 1553 1403 1363 1291 NA
## 59 59 SEAN M MC CORMICK 2.0 1403 NA 1411 1348 1283 1270
## 60 60 JULIA SHEN 1.5 1449 1399 1242 1332 1229 NA
## 61 61 JEZZEL FARKAS 1.5 1441 1384 1270 1362 1332 1522
## 62 62 ASHWIN BALAJI 1.0 1186 NA NA NA NA NA
## 63 63 THOMAS JOSEPH HOSMER 1.0 1553 1382 1291 1283 1242 NA
## 64 64 BEN LI 1.0 1555 1522 1494 1291 377 1332
## R7 State Player Opponent
## 1 1716 ON 1794 1605.3
## 2 1649 MI 1553 1469.3
## 3 1663 MI 1384 1563.6
## 4 1794 MI 1716 1573.6
## 5 1629 MI 1655 1500.9
## 6 1563 OH 1686 1518.7
## 7 1553 MI 1649 1372.1
## 8 1564 MI 1641 1468.4
## 9 1595 ON 1411 1523.1
## 10 1600 MI 1365 1554.1
## 11 1579 MI 1712 1467.6
## 12 1384 MI 1663 1506.2
## 13 1441 MI 1666 1497.9
## 14 1494 MI 1610 1515.0
## 15 1423 MI 1220 1483.9
## 16 NA MI 1604 1385.8
## 17 1655 MI 1629 1498.6
## 18 1365 MI 1600 1480.0
## 19 1641 MI 1564 1426.3
## 20 1411 MI 1595 1410.9
## 21 1686 ON 1563 1470.4
## 22 1348 MI 1555 1300.3
## 23 377 ON 1363 1213.9
## 24 1436 MI 1229 1357.0
## 25 1362 MI 1745 1363.3
## 26 1712 ON 1579 1506.9
## 27 NA MI 1552 1221.7
## 28 1355 MI 1507 1522.1
## 29 NA MI 1602 1313.5
## 30 1056 ON 1522 1144.1
## 31 1610 MI 1494 1259.9
## 32 1666 ON 1441 1378.7
## 33 1011 MI 1449 1276.9
## 34 935 MI 1399 1375.3
## 35 1382 MI 1438 1149.7
## 36 1507 MI 1355 1388.2
## 37 955 MI 980 1384.8
## 38 1220 MI 1423 1539.2
## 39 1229 MI 1436 1429.6
## 40 1555 MI 1348 1390.6
## 41 NA MI 1403 1248.5
## 42 1153 MI 1332 1149.9
## 43 1186 MI 1283 1106.6
## 44 853 MI 1199 1327.0
## 45 917 MI 1242 1152.0
## 46 1363 MI 377 1357.7
## 47 1745 MI 1362 1392.0
## 48 1438 MI 1382 1355.8
## 49 NA MI 1291 1285.8
## 50 1522 MI 1056 1296.0
## 51 1449 MI 1011 1356.1
## 52 1399 MI 935 1494.6
## 53 NA MI 1393 1345.3
## 54 1163 MI 1270 1206.2
## 55 1283 MI 1186 1406.0
## 56 1332 MI 1153 1414.4
## 57 NA MI 1092 1363.0
## 58 1242 MI 917 1391.0
## 59 1199 MI 853 1319.0
## 60 NA MI 967 1330.2
## 61 980 ON 955 1327.3
## 62 NA MI 1530 1186.0
## 63 NA MI 1175 1350.2
## 64 1270 MI 1163 1263.0
mean(tdata$Player)
## [1] 1378.5
mean(tdata$Opponent)
## [1] 1378.609
#Some data visualization follows where we can see on this scatter plot the positive correlation between Pre rating of the players and Average pre-chess ratings of the opponents.
plot(tdata$`Player`,tdata$`Opponent`)
