Read Txt File in r

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>

Creating a column for USCF_ID and Rating

Create the headers of the table

#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)

Create a column for the State, USCF_ID, and Rating

#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)

Spliting USCF_ID, and Rating column

# 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)

Merge into one table

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

Reorder the columns

#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)

Find the Average Pre Chess Rating of Opponents

# 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)

CSV

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