Import your data

soccer <- readxl::read_xlsx("../00_data/mydata.xlsx")

Chapter 14

Tools

Detect matches

str_detect(soccer$FTR, "H")
##   [1]  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE
##  [13] FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE
##  [25] FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE FALSE
##  [37] FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE
##  [49] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE
##  [61] FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [73]  TRUE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE
##  [85] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [97] FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE
## [109] FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
## [121]  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE
## [133] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE
## [145] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE
## [157]  TRUE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE
## [169] FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE
## [181] FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE
## [193]  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE
## [205] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE
## [217]  TRUE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE
## [229] FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE  TRUE
## [241]  TRUE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE
## [253] FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE FALSE  TRUE
## [265] FALSE  TRUE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE
## [277]  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE
## [289]  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
## [301]  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE
## [313] FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
## [325] FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE
## [337] FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE
## [349]  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE FALSE
## [361] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE
## [373]  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE
sum(str_detect(soccer$FTR, "H"))
## [1] 163
soccer %>%
    summarise(num_H = sum(str_detect(soccer$FTR, "H")) )
## # A tibble: 1 × 1
##   num_H
##   <int>
## 1   163

Extract matches

soccer %>%
    mutate(col_H = str_extract(FTR, "H")) %>%
    select(HomeTeam, FTR, col_H) %>%
    filter(!is.na(col_H))
## # A tibble: 163 × 3
##    HomeTeam    FTR   col_H
##    <chr>       <chr> <chr>
##  1 Brentford   H     H    
##  2 Man United  H     H    
##  3 Chelsea     H     H    
##  4 Everton     H     H    
##  5 Leicester   H     H    
##  6 Watford     H     H    
##  7 Tottenham   H     H    
##  8 Liverpool   H     H    
##  9 Aston Villa H     H    
## 10 Man City    H     H    
## # ℹ 153 more rows

Replacing matches

soccer %>%
    mutate(col_Result = str_replace(FTR, "H", "Home Win")) %>%
    select(Date, HomeTeam, AwayTeam, col_Result) %>%
    filter(!is.na(col_Result))
## # A tibble: 380 × 4
##    Date       HomeTeam   AwayTeam       col_Result
##    <chr>      <chr>      <chr>          <chr>     
##  1 13/08/2021 Brentford  Arsenal        Home Win  
##  2 14/08/2021 Man United Leeds          Home Win  
##  3 14/08/2021 Burnley    Brighton       A         
##  4 14/08/2021 Chelsea    Crystal Palace Home Win  
##  5 14/08/2021 Everton    Southampton    Home Win  
##  6 14/08/2021 Leicester  Wolves         Home Win  
##  7 14/08/2021 Watford    Aston Villa    Home Win  
##  8 14/08/2021 Norwich    Liverpool      A         
##  9 15/08/2021 Newcastle  West Ham       A         
## 10 15/08/2021 Tottenham  Man City       Home Win  
## # ℹ 370 more rows