I read the txt file into R, and remove the rows that contains dashes.
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
library(DT)
# I used the following links to see how to read txt file http://rfunction.com/archives/1441 and
txtfile <- readLines('https://raw.githubusercontent.com/suswong/DATA-607-Project-1/main/tournamentinfo.txt')
## Warning in readLines("https://raw.githubusercontent.com/suswong/DATA-607-
## Project-1/main/tournamentinfo.txt"): incomplete final line found on 'https://
## raw.githubusercontent.com/suswong/DATA-607-Project-1/main/tournamentinfo.txt'
table1<-read.delim(textConnection(txtfile),header=FALSE,sep="|")
new <-table1 %>%
filter(row_number() %% 3 != 1) ## Delete every 3rd row starting from 1
datatable(new)
#I searched how to fitler certain rows that I do not want to keep in my datatable. <https://stackoverflow.com/questions/24440258/selecting-multiple-odd-or-even-columns-rows-for-dataframe>
#Create headers for the datatable. I used this link: https://statisticsglobe.com/add-header-to-data-frame-in-r
colnames(new) <- c("Pair_Num", "Player_Name", "Total_Points", "Round_1", "Round_2", "Round_3", "Round_4", "Round_5", "Round_6", "Round_7", "n/a")
new
## Pair_Num Player_Name Total_Points Round_1 Round_2
## 1 Pair Player Name Total Round Round
## 2 Num USCF ID / Rtg (Pre->Post) Pts 1 2
## 3 1 GARY HUA 6.0 W 39 W 21
## 4 ON 15445895 / R: 1794 ->1817 N:2 W B
## 5 2 DAKSHESH DARURI 6.0 W 63 W 58
## 6 MI 14598900 / R: 1553 ->1663 N:2 B W
## 7 3 ADITYA BAJAJ 6.0 L 8 W 61
## 8 MI 14959604 / R: 1384 ->1640 N:2 W B
## 9 4 PATRICK H SCHILLING 5.5 W 23 D 28
## 10 MI 12616049 / R: 1716 ->1744 N:2 W B
## 11 5 HANSHI ZUO 5.5 W 45 W 37
## 12 MI 14601533 / R: 1655 ->1690 N:2 B W
## 13 6 HANSEN SONG 5.0 W 34 D 29
## 14 OH 15055204 / R: 1686 ->1687 N:3 W B
## 15 7 GARY DEE SWATHELL 5.0 W 57 W 46
## 16 MI 11146376 / R: 1649 ->1673 N:3 W B
## 17 8 EZEKIEL HOUGHTON 5.0 W 3 W 32
## 18 MI 15142253 / R: 1641P17->1657P24 N:3 B W
## 19 9 STEFANO LEE 5.0 W 25 L 18
## 20 ON 14954524 / R: 1411 ->1564 N:2 W B
## 21 10 ANVIT RAO 5.0 D 16 L 19
## 22 MI 14150362 / R: 1365 ->1544 N:3 W W
## 23 11 CAMERON WILLIAM MC LEMAN 4.5 D 38 W 56
## 24 MI 12581589 / R: 1712 ->1696 N:3 B W
## 25 12 KENNETH J TACK 4.5 W 42 W 33
## 26 MI 12681257 / R: 1663 ->1670 N:3 W B
## 27 13 TORRANCE HENRY JR 4.5 W 36 W 27
## 28 MI 15082995 / R: 1666 ->1662 N:3 B W
## 29 14 BRADLEY SHAW 4.5 W 54 W 44
## 30 MI 10131499 / R: 1610 ->1618 N:3 W B
## 31 15 ZACHARY JAMES HOUGHTON 4.5 D 19 L 16
## 32 MI 15619130 / R: 1220P13->1416P20 N:3 B B
## 33 16 MIKE NIKITIN 4.0 D 10 W 15
## 34 MI 10295068 / R: 1604 ->1613 N:3 B W
## 35 17 RONALD GRZEGORCZYK 4.0 W 48 W 41
## 36 MI 10297702 / R: 1629 ->1610 N:3 W B
## 37 18 DAVID SUNDEEN 4.0 W 47 W 9
## 38 MI 11342094 / R: 1600 ->1600 N:3 B W
## 39 19 DIPANKAR ROY 4.0 D 15 W 10
## 40 MI 14862333 / R: 1564 ->1570 N:3 W B
## 41 20 JASON ZHENG 4.0 L 40 W 49
## 42 MI 14529060 / R: 1595 ->1569 N:4 W B
## 43 21 DINH DANG BUI 4.0 W 43 L 1
## 44 ON 15495066 / R: 1563P22->1562 N:3 B W
## 45 22 EUGENE L MCCLURE 4.0 W 64 D 52
## 46 MI 12405534 / R: 1555 ->1529 N:4 W B
## 47 23 ALAN BUI 4.0 L 4 W 43
## 48 ON 15030142 / R: 1363 ->1371 B W
## 49 24 MICHAEL R ALDRICH 4.0 L 28 L 47
## 50 MI 13469010 / R: 1229 ->1300 N:4 B W
## 51 25 LOREN SCHWIEBERT 3.5 L 9 W 53
## 52 MI 12486656 / R: 1745 ->1681 N:4 B W
## 53 26 MAX ZHU 3.5 W 49 W 40
## 54 ON 15131520 / R: 1579 ->1564 N:4 B W
## 55 27 GAURAV GIDWANI 3.5 W 51 L 13
## 56 MI 14476567 / R: 1552 ->1539 N:4 W B
## 57 28 SOFIA ADINA STANESCU-BELLU 3.5 W 24 D 4
## 58 MI 14882954 / R: 1507 ->1513 N:3 W W
## 59 29 CHIEDOZIE OKORIE 3.5 W 50 D 6
## 60 MI 15323285 / R: 1602P6 ->1508P12 N:4 B W
## 61 30 GEORGE AVERY JONES 3.5 L 52 D 64
## 62 ON 12577178 / R: 1522 ->1444 W B
## 63 31 RISHI SHETTY 3.5 L 58 D 55
## 64 MI 15131618 / R: 1494 ->1444 B W
## 65 32 JOSHUA PHILIP MATHEWS 3.5 W 61 L 8
## 66 ON 14073750 / R: 1441 ->1433 N:4 W B
## 67 33 JADE GE 3.5 W 60 L 12
## 68 MI 14691842 / R: 1449 ->1421 B W
## 69 34 MICHAEL JEFFERY THOMAS 3.5 L 6 W 60
## 70 MI 15051807 / R: 1399 ->1400 B W
## 71 35 JOSHUA DAVID LEE 3.5 L 46 L 38
## 72 MI 14601397 / R: 1438 ->1392 W W
## 73 36 SIDDHARTH JHA 3.5 L 13 W 57
## 74 MI 14773163 / R: 1355 ->1367 N:4 W B
## 75 37 AMIYATOSH PWNANANDAM 3.5 B L 5
## 76 MI 15489571 / R: 980P12->1077P17 B
## 77 38 BRIAN LIU 3.0 D 11 W 35
## 78 MI 15108523 / R: 1423 ->1439 N:4 W B
## 79 39 JOEL R HENDON 3.0 L 1 W 54
## 80 MI 12923035 / R: 1436P23->1413 N:4 B W
## 81 40 FOREST ZHANG 3.0 W 20 L 26
## 82 MI 14892710 / R: 1348 ->1346 B B
## 83 41 KYLE WILLIAM MURPHY 3.0 W 59 L 17
## 84 MI 15761443 / R: 1403P5 ->1341P9 B W
## 85 42 JARED GE 3.0 L 12 L 50
## 86 MI 14462326 / R: 1332 ->1256 B W
## 87 43 ROBERT GLEN VASEY 3.0 L 21 L 23
## 88 MI 14101068 / R: 1283 ->1244 W B
## 89 44 JUSTIN D SCHILLING 3.0 B L 14
## 90 MI 15323504 / R: 1199 ->1199 W
## 91 45 DEREK YAN 3.0 L 5 L 51
## 92 MI 15372807 / R: 1242 ->1191 W B
## 93 46 JACOB ALEXANDER LAVALLEY 3.0 W 35 L 7
## 94 MI 15490981 / R: 377P3 ->1076P10 B W
## 95 47 ERIC WRIGHT 2.5 L 18 W 24
## 96 MI 12533115 / R: 1362 ->1341 W B
## 97 48 DANIEL KHAIN 2.5 L 17 W 63
## 98 MI 14369165 / R: 1382 ->1335 B W
## 99 49 MICHAEL J MARTIN 2.5 L 26 L 20
## 100 MI 12531685 / R: 1291P12->1259P17 W W
## 101 50 SHIVAM JHA 2.5 L 29 W 42
## 102 MI 14773178 / R: 1056 ->1111 W B
## 103 51 TEJAS AYYAGARI 2.5 L 27 W 45
## 104 MI 15205474 / R: 1011 ->1097 B W
## 105 52 ETHAN GUO 2.5 W 30 D 22
## 106 MI 14918803 / R: 935 ->1092 N:4 B W
## 107 53 JOSE C YBARRA 2.0 H L 25
## 108 MI 12578849 / R: 1393 ->1359 B
## 109 54 LARRY HODGE 2.0 L 14 L 39
## 110 MI 12836773 / R: 1270 ->1200 B B
## 111 55 ALEX KONG 2.0 L 62 D 31
## 112 MI 15412571 / R: 1186 ->1163 W B
## 113 56 MARISA RICCI 2.0 H L 11
## 114 MI 14679887 / R: 1153 ->1140 B
## 115 57 MICHAEL LU 2.0 L 7 L 36
## 116 MI 15113330 / R: 1092 ->1079 B W
## 117 58 VIRAJ MOHILE 2.0 W 31 L 2
## 118 MI 14700365 / R: 917 -> 941 W B
## 119 59 SEAN M MC CORMICK 2.0 L 41 B
## 120 MI 12841036 / R: 853 -> 878 W
## 121 60 JULIA SHEN 1.5 L 33 L 34
## 122 MI 14579262 / R: 967 -> 984 W B
## 123 61 JEZZEL FARKAS 1.5 L 32 L 3
## 124 ON 15771592 / R: 955P11-> 979P18 B W
## 125 62 ASHWIN BALAJI 1.0 W 55 U
## 126 MI 15219542 / R: 1530 ->1535 B
## 127 63 THOMAS JOSEPH HOSMER 1.0 L 2 L 48
## 128 MI 15057092 / R: 1175 ->1125 W B
## 129 64 BEN LI 1.0 L 22 D 30
## 130 MI 15006561 / R: 1163 ->1112 B W
## Round_3 Round_4 Round_5 Round_6 Round_7 n/a
## 1 Round Round Round Round Round NA
## 2 3 4 5 6 7 NA
## 3 W 18 W 14 W 7 D 12 D 4 NA
## 4 W B W B W NA
## 5 L 4 W 17 W 16 W 20 W 7 NA
## 6 B W B W B NA
## 7 W 25 W 21 W 11 W 13 W 12 NA
## 8 W B W B W NA
## 9 W 2 W 26 D 5 W 19 D 1 NA
## 10 W B W B B NA
## 11 D 12 D 13 D 4 W 14 W 17 NA
## 12 B W B W B NA
## 13 L 11 W 35 D 10 W 27 W 21 NA
## 14 W B B W B NA
## 15 W 13 W 11 L 1 W 9 L 2 NA
## 16 W B B W W NA
## 17 L 14 L 9 W 47 W 28 W 19 NA
## 18 B W B W W NA
## 19 W 59 W 8 W 26 L 7 W 20 NA
## 20 W B W B B NA
## 21 W 55 W 31 D 6 W 25 W 18 NA
## 22 B B W B W NA
## 23 W 6 L 7 L 3 W 34 W 26 NA
## 24 B W B W B NA
## 25 D 5 W 38 H D 1 L 3 NA
## 26 W B W B NA
## 27 L 7 D 5 W 33 L 3 W 32 NA
## 28 B B W W B NA
## 29 W 8 L 1 D 27 L 5 W 31 NA
## 30 W W B B W NA
## 31 W 30 L 22 W 54 W 33 W 38 NA
## 32 W W B B W NA
## 33 H W 39 L 2 W 36 U NA
## 34 B W B NA
## 35 L 26 L 2 W 23 W 22 L 5 NA
## 36 W B W B W NA
## 37 L 1 W 32 L 19 W 38 L 10 NA
## 38 B W B W B NA
## 39 W 52 D 28 W 18 L 4 L 8 NA
## 40 W B W W B NA
## 41 W 23 W 41 W 28 L 2 L 9 NA
## 42 W B W B W NA
## 43 W 47 L 3 W 40 W 39 L 6 NA
## 44 B W W B W NA
## 45 L 28 W 15 H L 17 W 40 NA
## 46 W B W B NA
## 47 L 20 W 58 L 17 W 37 W 46 NA
## 48 B W B W B NA
## 49 W 43 L 25 W 60 W 44 W 39 NA
## 50 B B W W B NA
## 51 L 3 W 24 D 34 L 10 W 47 NA
## 52 B W B W B NA
## 53 W 17 L 4 L 9 D 32 L 11 NA
## 54 B W B W W NA
## 55 W 46 W 37 D 14 L 6 U NA
## 56 W B W B NA
## 57 W 22 D 19 L 20 L 8 D 36 NA
## 58 B W B B W NA
## 59 L 38 L 34 W 52 W 48 U NA
## 60 B W W B NA
## 61 L 15 W 55 L 31 W 61 W 50 NA
## 62 B W W B B NA
## 63 W 64 L 10 W 30 W 50 L 14 NA
## 64 B W B W B NA
## 65 W 44 L 18 W 51 D 26 L 13 NA
## 66 W B W B W NA
## 67 W 50 D 36 L 13 L 15 W 51 NA
## 68 B W B W B NA
## 69 L 37 W 29 D 25 L 11 W 52 NA
## 70 B B W B W NA
## 71 W 56 L 6 W 57 D 52 W 48 NA
## 72 B W B B W NA
## 73 W 51 D 33 H L 16 D 28 NA
## 74 W B W B NA
## 75 W 34 L 27 H L 23 W 61 NA
## 76 W W B W NA
## 77 W 29 L 12 H L 18 L 15 NA
## 78 W W B B NA
## 79 W 40 L 16 W 44 L 21 L 24 NA
## 80 B W B W W NA
## 81 L 39 W 59 L 21 W 56 L 22 NA
## 82 W W B W W NA
## 83 W 58 L 20 X U U NA
## 84 B W NA
## 85 L 57 D 60 D 61 W 64 W 56 NA
## 86 B B W W B NA
## 87 L 24 W 63 W 59 L 46 W 55 NA
## 88 W W B B W NA
## 89 L 32 W 53 L 39 L 24 W 59 NA
## 90 B B W B W NA
## 91 D 60 L 56 W 63 D 55 W 58 NA
## 92 W B W B W NA
## 93 L 27 L 50 W 64 W 43 L 23 NA
## 94 B W B W W NA
## 95 L 21 W 61 L 8 D 51 L 25 NA
## 96 W B W B W NA
## 97 H D 52 H L 29 L 35 NA
## 98 B W B NA
## 99 D 63 D 64 W 58 H U NA
## 100 B W B NA
## 101 L 33 W 46 H L 31 L 30 NA
## 102 W B B W NA
## 103 L 36 W 57 L 32 D 47 L 33 NA
## 104 B W B W W NA
## 105 L 19 D 48 L 29 D 35 L 34 NA
## 106 B W B W B NA
## 107 H L 44 U W 57 U NA
## 108 W W NA
## 109 L 61 B L 15 L 59 W 64 NA
## 110 W W B W NA
## 111 L 10 L 30 B D 45 L 43 NA
## 112 W B W B NA
## 113 L 35 W 45 H L 40 L 42 NA
## 114 W W B W NA
## 115 W 42 L 51 L 35 L 53 B NA
## 116 W B W B NA
## 117 L 41 L 23 L 49 B L 45 NA
## 118 W B W B NA
## 119 L 9 L 40 L 43 W 54 L 44 NA
## 120 B B W W B NA
## 121 D 45 D 42 L 24 H U NA
## 122 B W B NA
## 123 W 54 L 47 D 42 L 30 L 37 NA
## 124 B W B W B NA
## 125 U U U U U NA
## 126 NA
## 127 D 49 L 43 L 45 H U NA
## 128 W B B NA
## 129 L 31 D 49 L 46 L 42 L 54 NA
## 130 W B W B B NA
new <- new[-1,] #Remove the 1st row
new <- new[-1,] #Remove the 2nd row
new <- new[,-11] #Remove the last column
datatable(new)
#I searched how to select and extract even and odd rows using the following link. <https://datacarpentry.org/R-genomics/03-data-frames.html>
odd <- seq(1,nrow(new),2)
even <- seq(2,nrow(new),2)
players <-new[odd,]
player_state <- select(new[even,],1,2) #I used this link to see how to select certain columns https://sparkbyexamples.com/r-programming/r-select-function-from-dplyr/
colnames(player_state) <- c("State", "USCF_ID.Rating")
datatable(player_state)
# I used the following link to split a column into multiple columns. https://www.statology.org/split-column-in-r/
library(stringr)
player_state[c('USCF_ID', 'Rating')] <- str_split_fixed(player_state$USCF_ID.Rating, '/ ', 2)
df1 <- player_state[c('State','USCF_ID', 'Rating')]
df1[c('Prerating', 'Postrating')] <- str_split_fixed(df1$Rating, '->', 2)
df2 <- df1[c('State','USCF_ID','Prerating','Postrating')]
df2$Prerating<-gsub("R:","",as.character(df2$Prerating)) # I used this link to help me remove "R:" in the Prerating column. https://www.tutorialspoint.com/how-to-remove-a-character-in-an-r-data-frame-column#:~:text=Side%20ProgrammingProgramming-,To%20remove%20a%20character%20in%20an%20R%20data%20frame%20column,%22%2C%22%22%2Cas.
datatable(df2)
We cannot use innerjoin or merge to combine the two tables because they do not have any common columns. We can use cbind.
# I search and used the following link to help me combine two tables. <https://statisticsglobe.com/cbind-r-command-example/>
df3 <- cbind(players,df2)
#df3 <- df3[,-1] #Remove the first column
datatable(df3)
#http://www.sthda.com/english/wiki/reordering-data-frame-columns-in-r
#http://www.sthda.com/english/wiki/reordering-data-frame-columns-in-r
col_order <- c("Pair_Num","Player_Name", "State","USCF_ID","Prerating","Postrating","Total_Points", "Round_1", "Round_2", "Round_3", "Round_4", "Round_5", "Round_6", "Round_7")
df4 <- df3[, col_order]
datatable(df4)
# I search how to remove any letter from each round https://datascience.stackexchange.com/questions/15589/remove-part-of-string-in-r
df5 <- df4[c('Pair_Num', 'Player_Name','State','Prerating','Total_Points','Round_1','Round_2','Round_3','Round_4','Round_5','Round_6','Round_7')]
df5$Round_1<-gsub("[a-zA-Z ]","",as.character(df5$Round_1))
df5$Round_2<-gsub("[a-zA-Z ]","",as.character(df5$Round_2))
df5$Round_3<-gsub("[a-zA-Z ]","",as.character(df5$Round_3))
df5$Round_4<-gsub("[a-zA-Z ]","",as.character(df5$Round_4))
df5$Round_5<-gsub("[a-zA-Z ]","",as.character(df5$Round_5))
df5$Round_6<-gsub("[a-zA-Z ]","",as.character(df5$Round_6))
df5$Round_7<-gsub("[a-zA-Z ]","",as.character(df5$Round_7))
datatable(df5)
for(i in 1:nrow(df5)){
if(is.na(df5$Round_1[i]) == is.na(df5$Pair_Num[df5$Round_1[i]]))
{
is.na(df5$Round_1[i]) <- is.na(df5$Prerating[df5$Round_1[i]])
}
}
datatable(df5)
# I found another code that help match the pair num. However, it returns NA. https://stackoverflow.com/questions/31865129/matching-and-replacing-values-in-different-columns-given-an-id-number
# nm1 <- grep('^Round', colnames(df5))
# df5[nm1] <- df5$Prerating[match(as.matrix(df5[nm1]), df5$Pair_Num)]
# df5
df5$Round_1 <- as.numeric(as.factor(df5$Round_1))
df5$Round_2 <- as.numeric(as.factor(df5$Round_2))
df5$Round_3 <- as.numeric(as.factor(df5$Round_3))
df5$Round_4 <- as.numeric(as.factor(df5$Round_4))
df5$Round_5 <- as.numeric(as.factor(df5$Round_5))
df5$Round_6 <- as.numeric(as.factor(df5$Round_6))
df5$Round_7 <- as.numeric(as.factor(df5$Round_7))
df5$AverageRtg <- rowMeans(df5[,6:12], na.rm=TRUE)
final <- df5[c('Player_Name','State','Total_Points','Prerating','AverageRtg')]
datatable(final)
write.csv(final)
## "","Player_Name","State","Total_Points","Prerating","AverageRtg"
## "3"," GARY HUA "," ON ","6.0 "," 1794 ",21.8571428571429
## "5"," DAKSHESH DARURI "," MI ","6.0 "," 1553 ",33
## "7"," ADITYA BAJAJ "," MI ","6.0 "," 1384 ",23.7142857142857
## "9"," PATRICK H SCHILLING "," MI ","5.5 "," 1716 ",17.7142857142857
## "11"," HANSHI ZUO "," MI ","5.5 "," 1655 ",18.2857142857143
## "13"," HANSEN SONG "," OH ","5.0 "," 1686 ",17.7142857142857
## "15"," GARY DEE SWATHELL "," MI ","5.0 "," 1649 ",25
## "17"," EZEKIEL HOUGHTON "," MI ","5.0 "," 1641P17",27.2857142857143
## "19"," STEFANO LEE "," ON ","5.0 "," 1411 ",33.2857142857143
## "21"," ANVIT RAO "," MI ","5.0 "," 1365 ",24.4285714285714
## "23"," CAMERON WILLIAM MC LEMAN "," MI ","4.5 "," 1712 ",38.5714285714286
## "25"," KENNETH J TACK "," MI ","4.5 "," 1663 ",23.7142857142857
## "27"," TORRANCE HENRY JR "," MI ","4.5 "," 1666 ",33
## "29"," BRADLEY SHAW "," MI ","4.5 "," 1610 ",33.7142857142857
## "31"," ZACHARY JAMES HOUGHTON "," MI ","4.5 "," 1220P13",23
## "33"," MIKE NIKITIN "," MI ","4.0 "," 1604 ",12.8571428571429
## "35"," RONALD GRZEGORCZYK "," MI ","4.0 "," 1629 ",26.1428571428571
## "37"," DAVID SUNDEEN "," MI ","4.0 "," 1600 ",25.7142857142857
## "39"," DIPANKAR ROY "," MI ","4.0 "," 1564 ",25.5714285714286
## "41"," JASON ZHENG "," MI ","4.0 "," 1595 ",31.5714285714286
## "43"," DINH DANG BUI "," ON ","4.0 "," 1563P22",31.5714285714286
## "45"," EUGENE L MCCLURE "," MI ","4.0 "," 1555 ",25.7142857142857
## "47"," ALAN BUI "," ON ","4.0 "," 1363 ",31.2857142857143
## "49"," MICHAEL R ALDRICH "," MI ","4.0 "," 1229 ",34.1428571428571
## "51"," LOREN SCHWIEBERT "," MI ","3.5 "," 1745 ",31.5714285714286
## "53"," MAX ZHU "," ON ","3.5 "," 1579 ",29.5714285714286
## "55"," GAURAV GIDWANI "," MI ","3.5 "," 1552 ",26.5714285714286
## "57"," SOFIA ADINA STANESCU-BELLU "," MI ","3.5 "," 1507 ",25.5714285714286
## "59"," CHIEDOZIE OKORIE "," MI ","3.5 "," 1602P6 ",35.2857142857143
## "61"," GEORGE AVERY JONES "," ON ","3.5 "," 1522 ",41
## "63"," RISHI SHETTY "," MI ","3.5 "," 1494 ",34.1428571428571
## "65"," JOSHUA PHILIP MATHEWS "," ON ","3.5 "," 1441 ",33.2857142857143
## "67"," JADE GE "," MI ","3.5 "," 1449 ",27.2857142857143
## "69"," MICHAEL JEFFERY THOMAS "," MI ","3.5 "," 1399 ",32.7142857142857
## "71"," JOSHUA DAVID LEE "," MI ","3.5 "," 1438 ",44.1428571428571
## "73"," SIDDHARTH JHA "," MI ","3.5 "," 1355 ",23.4285714285714
## "75"," AMIYATOSH PWNANANDAM "," MI ","3.5 "," 980P12",23.5714285714286
## "77"," BRIAN LIU "," MI ","3.0 "," 1423 ",11.5714285714286
## "79"," JOEL R HENDON "," MI ","3.0 "," 1436P23",23.2857142857143
## "81"," FOREST ZHANG "," MI ","3.0 "," 1348 ",28.8571428571429
## "83"," KYLE WILLIAM MURPHY "," MI ","3.0 "," 1403P5 ",18.7142857142857
## "85"," JARED GE "," MI ","3.0 "," 1332 ",44.4285714285714
## "87"," ROBERT GLEN VASEY "," MI ","3.0 "," 1283 ",34.2857142857143
## "89"," JUSTIN D SCHILLING "," MI ","3.0 "," 1199 ",25.7142857142857
## "91"," DEREK YAN "," MI ","3.0 "," 1242 ",49.4285714285714
## "93"," JACOB ALEXANDER LAVALLEY "," MI ","3.0 "," 377P3 ",37.4285714285714
## "95"," ERIC WRIGHT "," MI ","2.5 "," 1362 ",31
## "97"," DANIEL KHAIN "," MI ","2.5 "," 1382 ",24.2857142857143
## "99"," MICHAEL J MARTIN "," MI ","2.5 "," 1291P12",28.1428571428571
## "101"," SHIVAM JHA "," MI ","2.5 "," 1056 ",25.5714285714286
## "103"," TEJAS AYYAGARI "," MI ","2.5 "," 1011 ",33.8571428571429
## "105"," ETHAN GUO "," MI ","2.5 "," 935 ",24.7142857142857
## "107"," JOSE C YBARRA "," MI ","2.0 "," 1393 ",16.4285714285714
## "109"," LARRY HODGE "," MI ","2.0 "," 1270 ",30
## "111"," ALEX KONG "," MI ","2.0 "," 1186 ",26.5714285714286
## "113"," MARISA RICCI "," MI ","2.0 "," 1153 ",20.8571428571429
## "115"," MICHAEL LU "," MI ","2.0 "," 1092 ",36
## "117"," VIRAJ MOHILE "," MI ","2.0 "," 917 ",24
## "119"," SEAN M MC CORMICK "," MI ","2.0 "," 853 ",36
## "121"," JULIA SHEN "," MI ","1.5 "," 967 ",21.8571428571429
## "123"," JEZZEL FARKAS "," ON ","1.5 "," 955P11",32.5714285714286
## "125"," ASHWIN BALAJI "," MI ","1.0 "," 1530 ",7.85714285714286
## "127"," THOMAS JOSEPH HOSMER "," MI ","1.0 "," 1175 ",25.1428571428571
## "129"," BEN LI "," MI ","1.0 "," 1163 ",32.7142857142857