Import your data

data <- read_excel("../00_data/MyData.xlsx")

Chapter 14

Tools

Detect matches

data$Brand 
##   [1] "Toyota"     "Honda"      "Ford"       "Maruti"     "Hyundai"   
##   [6] "Tata"       "Mahindra"   "Volkswagen" "Audi"       "BMW"       
##  [11] "Mercedes"   "Ford"       "Hyundai"    "Tata"       "Maruti"    
##  [16] "Honda"      "Volkswagen" "Audi"       "BMW"        "Mercedes"  
##  [21] "Toyota"     "Ford"       "Hyundai"    "Tata"       "Mahindra"  
##  [26] "Volkswagen" "Audi"       "BMW"        "Mercedes"   "Toyota"    
##  [31] "Ford"       "Hyundai"    "Tata"       "Maruti"     "Honda"     
##  [36] "Volkswagen" "Audi"       "BMW"        "Mercedes"   "Toyota"    
##  [41] "Ford"       "Hyundai"    "Tata"       "Maruti"     "Honda"     
##  [46] "Volkswagen" "Audi"       "BMW"        "Mercedes"   "Toyota"    
##  [51] "Ford"       "Hyundai"    "Tata"       "Mahindra"   "Volkswagen"
##  [56] "Audi"       "BMW"        "Mercedes"   "Toyota"     "Ford"      
##  [61] "Hyundai"    "Tata"       "Mahindra"   "Volkswagen" "Audi"      
##  [66] "BMW"        "Mercedes"   "Toyota"     "Ford"       "Hyundai"   
##  [71] "Tata"       "Maruti"     "Honda"      "Volkswagen" "Audi"      
##  [76] "BMW"        "Mercedes"   "Toyota"     "Ford"       "Hyundai"   
##  [81] "Tata"       "Maruti"     "Honda"      "Volkswagen" "Audi"      
##  [86] "BMW"        "Mercedes"   "Toyota"     "Ford"       "Hyundai"   
##  [91] "Tata"       "Mahindra"   "Volkswagen" "Audi"       "BMW"       
##  [96] "Mercedes"   "Toyota"     "Ford"       "Hyundai"    "Tata"
str_detect(data$Transmission, "Manual")
##   [1]  TRUE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
##  [13]  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE  TRUE
##  [25]  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE
##  [37] FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE FALSE FALSE
##  [49] FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE
##  [61] FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE
##  [73]  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE
##  [85] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE
##  [97]  TRUE  TRUE FALSE  TRUE
sum(str_detect(data$Transmission, "Manual"))
## [1] 43
data %>%
    summarise(num_Manual = sum(str_detect(Transmission, "Manual")))
## # A tibble: 1 × 1
##   num_Manual
##        <int>
## 1         43

Extract matches

data %>%
    mutate(col_Manual = str_extract(Transmission, "Manual")) %>%
    select(Transmission, col_Manual) %>%
    filter(!is.na(col_Manual))
## # A tibble: 43 × 2
##    Transmission col_Manual
##    <chr>        <chr>     
##  1 Manual       Manual    
##  2 Manual       Manual    
##  3 Manual       Manual    
##  4 Manual       Manual    
##  5 Manual       Manual    
##  6 Manual       Manual    
##  7 Manual       Manual    
##  8 Manual       Manual    
##  9 Manual       Manual    
## 10 Manual       Manual    
## # ℹ 33 more rows

Replacing matches

data %>%
    mutate(col_Automatic = str_replace(Transmission, "Manual", "Automatic")) %>%
    select(Transmission, col_Automatic)
## # A tibble: 100 × 2
##    Transmission col_Automatic
##    <chr>        <chr>        
##  1 Manual       Automatic    
##  2 Automatic    Automatic    
##  3 Automatic    Automatic    
##  4 Manual       Automatic    
##  5 Automatic    Automatic    
##  6 Manual       Automatic    
##  7 Automatic    Automatic    
##  8 Automatic    Automatic    
##  9 Automatic    Automatic    
## 10 Automatic    Automatic    
## # ℹ 90 more rows