Import your data

MKmydata1 <- read_csv("../00_data/MKmyData1.csv")
## Rows: 101 Columns: 17
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (8): id.on.tag, animal.name, scientific.name, tag.deployment.start, tag....
## dbl (5): Column1, prey.per.month, hours.indoor.per.day, cats.in.house, age
## lgl (4): hunt, dry.food, wet.food, other.food
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

Chapter 14

Tools

Detect matches

MKmydata1$animal.name
##   [1] "Tommy"           "Athena"          "Ares"            "Lola"           
##   [5] "Maverick"        "Coco"            "Charlie"         "Jago"           
##   [9] "Morpheus"        "Nettle"          "Meg"             "Friday"         
##  [13] "Carbonel"        "Fonzie"          "Jessy"           "Barney"         
##  [17] "Sparky"          "Indie"           "Whiskey"         "Rusty"          
##  [21] "Mifty"           "Wilfred"         "Johnny"          "Poppet"         
##  [25] "Pussy"           "Henry"           "Winnie"          "Tom"            
##  [29] "Lady T"          "Bella"           "Ladyboyhawke"    "Charlie2"       
##  [33] "Max"             "Ebby"            "Bear"            "Bumbles"        
##  [37] "Chloe"           "Merlin"          "Felix"           "Beanie"         
##  [41] "Sid"             "Binky"           "Amber"           "Ernie"          
##  [45] "Bits"            "Maxwell"         "Lightening Bugg" "Bobs"           
##  [49] "Carrots"         "Smudge"          "Magic"           "Spike"          
##  [53] "Dory"            "Tigger"          "Jago2"           "Frank"          
##  [57] "Skye"            "Jezebel"         "Boots"           "Smudge_2"       
##  [61] "Frank_2"         "Freya"           "Spot"            "Tipsy"          
##  [65] "Flash"           "Gracie"          "Teddy"           "Marley"         
##  [69] "Guinness"        "Reggie"          "Jessie"          "Roger"          
##  [73] "Gracie_2"        "Dexter"          "Tilly"           "Balu"           
##  [77] "Missy"           "Dexter2"         "Fairclough"      "Keegan"         
##  [81] "Maggie"          "Lily"            "Abba"            "Worf"           
##  [85] "Pants"           "Jim"             "Lucy"            "Macaulay Mccat" 
##  [89] "Neil"            "Siberia"         "Moscow"          "Neva"           
##  [93] "Alfie"           "Casper"          "Ginge"           "Jasper"         
##  [97] "Charlie3"        "Millie"          "SmokeyLongnose"  "CJ"             
## [101] "Seb"
str_detect(MKmydata1$animal.name, "Charlie")
##   [1] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
##  [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [97]  TRUE FALSE FALSE FALSE FALSE
sum(str_detect(MKmydata1$animal.name, "Charlie"))
## [1] 3
MKmydata1 %>%
    summarise(num_Charlie = sum(str_detect(animal.name, "Charlie")))
## # A tibble: 1 × 1
##   num_Charlie
##         <int>
## 1           3

Extract matches

MKmydata1 %>%
    mutate(col_Charlie = str_extract(animal.name, "Charlie")) %>%
    select(animal.name, col_Charlie) %>%
    filter(!is.na(col_Charlie))
## # A tibble: 3 × 2
##   animal.name col_Charlie
##   <chr>       <chr>      
## 1 Charlie     Charlie    
## 2 Charlie2    Charlie    
## 3 Charlie3    Charlie

Replacing matches

MKmydata1 %>%
    mutate(col_CJ = str_replace(animal.name, "Charlie", "CJ")) %>%
    select(animal.name, col_CJ)
## # A tibble: 101 × 2
##    animal.name col_CJ  
##    <chr>       <chr>   
##  1 Tommy       Tommy   
##  2 Athena      Athena  
##  3 Ares        Ares    
##  4 Lola        Lola    
##  5 Maverick    Maverick
##  6 Coco        Coco    
##  7 Charlie     CJ      
##  8 Jago        Jago    
##  9 Morpheus    Morpheus
## 10 Nettle      Nettle  
## # ℹ 91 more rows