Load all libraries

##install.packages("kableExtra")
library(knitr)
library(kableExtra)
library(dplyr)
library(tidyr)
library(RCurl)
library(ggplot2)

Import text file from github

df <- read.table(text = getURL("https://raw.githubusercontent.com/ltcancel/DATA607Project1/master/RawData.txt"), header = TRUE, sep = "|", fill = TRUE, comment.char = "-")

##diplay data
kable(df[1:10,]) %>%
  kable_styling(bootstrap_options = c("striped", "hover"), full_width = F, font_size = 12)
Pair Player.Name Total Round Round.1 Round.2 Round.3 Round.4 Round.5 Round.6 X
Num USCF ID / Rtg (Pre NA NA
1 GARY HUA 6.0 W 39 W 21 W 18 W 14 W 7 D 12 D 4 NA
ON 15445895 / R: 1794 NA NA
2 DAKSHESH DARURI 6.0 W 63 W 58 L 4 W 17 W 16 W 20 W 7 NA
MI 14598900 / R: 1553 NA NA
3 ADITYA BAJAJ 6.0 L 8 W 61 W 25 W 21 W 11 W 13 W 12 NA
MI 14959604 / R: 1384 NA NA
4 PATRICK H SCHILLING 5.5 W 23 D 28 W 2 W 26 D 5 W 19 D 1 NA
MI 12616049 / R: 1716 NA NA
5 HANSHI ZUO 5.5 W 45 W 37 D 12 D 13 D 4 W 14 W 17 NA

Filter even and odd rows

##Even rows
even_rows <- df %>% dplyr::filter(row_number() %% 2 == 0) ##select even rows
kable(even_rows[1:10,]) %>%
  kable_styling(bootstrap_options = c("striped", "hover"), full_width = F, font_size = 12) 
Pair Player.Name Total Round Round.1 Round.2 Round.3 Round.4 Round.5 Round.6 X
1 GARY HUA 6.0 W 39 W 21 W 18 W 14 W 7 D 12 D 4 NA
2 DAKSHESH DARURI 6.0 W 63 W 58 L 4 W 17 W 16 W 20 W 7 NA
3 ADITYA BAJAJ 6.0 L 8 W 61 W 25 W 21 W 11 W 13 W 12 NA
4 PATRICK H SCHILLING 5.5 W 23 D 28 W 2 W 26 D 5 W 19 D 1 NA
5 HANSHI ZUO 5.5 W 45 W 37 D 12 D 13 D 4 W 14 W 17 NA
6 HANSEN SONG 5.0 W 34 D 29 L 11 W 35 D 10 W 27 W 21 NA
7 GARY DEE SWATHELL 5.0 W 57 W 46 W 13 W 11 L 1 W 9 L 2 NA
8 EZEKIEL HOUGHTON 5.0 W 3 W 32 L 14 L 9 W 47 W 28 W 19 NA
9 STEFANO LEE 5.0 W 25 L 18 W 59 W 8 W 26 L 7 W 20 NA
10 ANVIT RAO 5.0 D 16 L 19 W 55 W 31 D 6 W 25 W 18 NA
##Odd rows
odd_rows <- df %>% dplyr::filter(row_number() %% 2 == 1) ##select odd rows
kable(odd_rows[1:10,]) %>%
  kable_styling(bootstrap_options = c("striped", "hover"), full_width = F, font_size = 12) 
Pair Player.Name Total Round Round.1 Round.2 Round.3 Round.4 Round.5 Round.6 X
Num USCF ID / Rtg (Pre NA NA
ON 15445895 / R: 1794 NA NA
MI 14598900 / R: 1553 NA NA
MI 14959604 / R: 1384 NA NA
MI 12616049 / R: 1716 NA NA
MI 14601533 / R: 1655 NA NA
OH 15055204 / R: 1686 NA NA
MI 11146376 / R: 1649 NA NA
MI 15142253 / R: 1641P17 NA NA
ON 14954524 / R: 1411 NA NA

Create dataframe with even rows only

##Selecting only rows needed 
clean.odd.rows <- odd_rows[2:65,1:2]

##Separate USCF ID from rating
clean.odd.rows <- separate(data = clean.odd.rows, col = Player.Name, into = c("USCF ID", "Rating"), sep = " / R: ")

##Separate columns
state <- clean.odd.rows$Pair
USCF_ID <- clean.odd.rows$`USCF ID`
rating <- clean.odd.rows$Rating

##Rename columns
colnames(clean.odd.rows) <- c("State", "USCF ID", "Rating")

##Merge both dataframes
player.data.cleaned <- cbind(even_rows, state, USCF_ID, rating)
kable(player.data.cleaned[1:10,]) %>%
  kable_styling(bootstrap_options = c("striped", "hover"), full_width = F, font_size = 12) 
Pair Player.Name Total Round Round.1 Round.2 Round.3 Round.4 Round.5 Round.6 X state USCF_ID rating
1 GARY HUA 6.0 W 39 W 21 W 18 W 14 W 7 D 12 D 4 NA ON 15445895 1794
2 DAKSHESH DARURI 6.0 W 63 W 58 L 4 W 17 W 16 W 20 W 7 NA MI 14598900 1553
3 ADITYA BAJAJ 6.0 L 8 W 61 W 25 W 21 W 11 W 13 W 12 NA MI 14959604 1384
4 PATRICK H SCHILLING 5.5 W 23 D 28 W 2 W 26 D 5 W 19 D 1 NA MI 12616049 1716
5 HANSHI ZUO 5.5 W 45 W 37 D 12 D 13 D 4 W 14 W 17 NA MI 14601533 1655
6 HANSEN SONG 5.0 W 34 D 29 L 11 W 35 D 10 W 27 W 21 NA OH 15055204 1686
7 GARY DEE SWATHELL 5.0 W 57 W 46 W 13 W 11 L 1 W 9 L 2 NA MI 11146376 1649
8 EZEKIEL HOUGHTON 5.0 W 3 W 32 L 14 L 9 W 47 W 28 W 19 NA MI 15142253 1641P17
9 STEFANO LEE 5.0 W 25 L 18 W 59 W 8 W 26 L 7 W 20 NA ON 14954524 1411
10 ANVIT RAO 5.0 D 16 L 19 W 55 W 31 D 6 W 25 W 18 NA MI 14150362 1365

separate wins and numbers

round.one <- separate(data = player.data.cleaned, col = Round, into = c("1.1","1.2"))
round.two <- separate(data = round.one, col = Round.1, into = c("2.1","2.2"))
round.three <- separate(data = round.two, col = Round.2, into = c("3.1","3.2"))
round.four <- separate(data = round.three, col = Round.3, into = c("4.1","4.2"))
round.five <- separate(data = round.four, col = Round.4, into = c("5.1","5.2"))
round.six <- separate(data = round.five, col = Round.5, into = c("6.1","6.2"))
player.data <- separate(data = round.six, col = Round.6, into = c("7.1","7.2"))

colnames(player.data) <- c("Pair_Num","Player_Name","Total_Pts","R1","R1_Pts","R2","R2_Pts","R3","R3_Pts","R4","R4_Pts","R5","R5_Pts","R6","R6_Pts","R7","R7_Pts","X","State","USCF_ID","Rating")
kable(player.data[1:10,]) %>%
  kable_styling(bootstrap_options = c("striped", "hover"), full_width = F, position = "center", font_size = 12)
Pair_Num Player_Name Total_Pts R1 R1_Pts R2 R2_Pts R3 R3_Pts R4 R4_Pts R5 R5_Pts R6 R6_Pts R7 R7_Pts X State USCF_ID Rating
1 GARY HUA 6.0 W 39 W 21 W 18 W 14 W 7 D 12 D 4 NA ON 15445895 1794
2 DAKSHESH DARURI 6.0 W 63 W 58 L 4 W 17 W 16 W 20 W 7 NA MI 14598900 1553
3 ADITYA BAJAJ 6.0 L 8 W 61 W 25 W 21 W 11 W 13 W 12 NA MI 14959604 1384
4 PATRICK H SCHILLING 5.5 W 23 D 28 W 2 W 26 D 5 W 19 D 1 NA MI 12616049 1716
5 HANSHI ZUO 5.5 W 45 W 37 D 12 D 13 D 4 W 14 W 17 NA MI 14601533 1655
6 HANSEN SONG 5.0 W 34 D 29 L 11 W 35 D 10 W 27 W 21 NA OH 15055204 1686
7 GARY DEE SWATHELL 5.0 W 57 W 46 W 13 W 11 L 1 W 9 L 2 NA MI 11146376 1649
8 EZEKIEL HOUGHTON 5.0 W 3 W 32 L 14 L 9 W 47 W 28 W 19 NA MI 15142253 1641P17
9 STEFANO LEE 5.0 W 25 L 18 W 59 W 8 W 26 L 7 W 20 NA ON 14954524 1411
10 ANVIT RAO 5.0 D 16 L 19 W 55 W 31 D 6 W 25 W 18 NA MI 14150362 1365