Import your data

#csv file
map <- read.csv ("Worldmap - Sheet1.csv")

Chapter 14

Tools

Detect matches

map$Continents
##   [1] "Asia"          "Asia"          "North America" "Asia"         
##   [5] "Asia"          "Africa"        "South America" "Asia"         
##   [9] "Europe/Asia"   "Africa"        "North America" "Asia"         
##  [13] "Africa"        "Asia"          "Africa"        "Asia"         
##  [17] "Asia"          "Europe/Asia"   "Europe"        "Asia"         
##  [21] "Africa"        "Europe"        "Europe"        "Africa"       
##  [25] "Europe"        "Africa"        "Asia"          "South America"
##  [29] "Asia"          "Africa"        "Africa"        "Europe"       
##  [33] "Africa"        "Asia"          "South America" "Asia"         
##  [37] "Asia"          "North America" "Africa"        "Europe"       
##  [41] "Africa"        "Europe"        "Asia"          "Asia"         
##  [45] "Africa"        "Africa"        "South America" "Asia"         
##  [49] "Africa"        "Africa"        "Africa"        "Asia"         
##  [53] "South America" "Africa"        "Oceania"       "Asia"         
##  [57] "Asia"          "Africa"        "Africa"        "Asia"         
##  [61] "Asia"          "Africa"        "Africa"        "Africa"       
##  [65] "Africa"        "Asia"          "South America" "Africa"       
##  [69] "Africa"        "Africa"        "Africa"        "Europe"       
##  [73] "North America" "Europe"        "South America" "Asia"         
##  [77] "Africa"        "Africa"        "Africa"        "Africa"       
##  [81] "South America" "Africa"        "Africa"        "North America"
##  [85] "Europe"        "Asia"          "North America" "Asia"         
##  [89] "North America" "North America" "Asia"          "Oceania"      
##  [93] "Europe"        "Europe"        "Europe"        "Asia"         
##  [97] "Europe"        "Africa"        "Europe"        "Asia"         
## [101] "Asia"          "Africa"        "Asia"          "Asia"         
## [105] "Africa"        "North America" "North America" "Europe"       
## [109] "Europe"        "Europe"        "Africa"        "Asia"         
## [113] "Europe"        "Asia"          "Africa"        "Asia"         
## [117] "Europe"        "Europe"        "Asia"          "Europe"       
## [121] "Europe"        "South America" "North America" "North America"
## [125] "North America" "Asia"          "Europe"        "Europe"       
## [129] "Africa"        "Africa"        "Europe"        "Europe"       
## [133] "North America" "Asia"          "Europe"        "Africa"       
## [137] "Asia"          "Europe"        "Africa"        "Europe"       
## [141] "Europe"        "Africa"        "Europe"        "Europe"       
## [145] "Asia"          "North America" "Asia"          "Asia"         
## [149] "Africa"        "Africa"        "Africa"        "Oceania"      
## [153] "Africa"        "Oceania"       "South America" "Oceania"      
## [157] "North America" "Africa"        "Oceania"       "South America"
## [161] "Oceania"       "North America" "Oceania"       "Africa"       
## [165] "North America" "North America" "Oceania"       "Oceania"      
## [169] "Africa"        "North America" "Oceania"       "North America"
## [173] "Oceania"       "Oceania"       "Oceania"       "Europe"       
## [177] "North America" "North America" "Europe"        "North America"
## [181] "North America" "Europe"        "Europe"        "North America"
## [185] "Europe"        "Oceania"       "Europe"        "Europe"       
## [189] "North America" "Oceania"       "North America" "Oceania"      
## [193] "Oceania"       "North America" "Africa"        "North America"
## [197] "South America" "Oceania"       "Oceania"       "Oceania"      
## [201] "Europe"        "Other "        "Other "        "Other "       
## [205] "Other "        "Other "        "Other "        "Other "       
## [209] "Other "        "Other "        "Other "        "Other "       
## [213] "Other "        "Other "        "Other "        "Other "       
## [217] "Other "        "Other "        "Other "        "Other "       
## [221] "Other "        "Other "        "Other "        "Other "       
## [225] "Other "        "Other "        "Other "        "Other "       
## [229] "Other "        "Other "        "Other "        "Other "       
## [233] "Other "
str_detect(map$Continents, "Asia")
##   [1]  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE
##  [13] FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [25] FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE
##  [37]  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE
##  [49] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE
##  [61]  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
##  [73] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [85] FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE
##  [97] FALSE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE
## [109] FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE
## [121] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [133] FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [145]  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [169] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [181] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [193] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [205] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [217] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [229] FALSE FALSE FALSE FALSE FALSE
sum(str_detect(map$Continents, "Asia"))
## [1] 45
map %>%
    summarise(num_Asia= sum(str_detect(Continents, "Asia")))
##   num_Asia
## 1       45

Extract matches

map %>%
    mutate(col_Asia = str_extract(Continents, "Asia")) %>%
    select(Continents, col_Asia) %>%
    filter(!is.na(col_Asia))
##     Continents col_Asia
## 1         Asia     Asia
## 2         Asia     Asia
## 3         Asia     Asia
## 4         Asia     Asia
## 5         Asia     Asia
## 6  Europe/Asia     Asia
## 7         Asia     Asia
## 8         Asia     Asia
## 9         Asia     Asia
## 10        Asia     Asia
## 11 Europe/Asia     Asia
## 12        Asia     Asia
## 13        Asia     Asia
## 14        Asia     Asia
## 15        Asia     Asia
## 16        Asia     Asia
## 17        Asia     Asia
## 18        Asia     Asia
## 19        Asia     Asia
## 20        Asia     Asia
## 21        Asia     Asia
## 22        Asia     Asia
## 23        Asia     Asia
## 24        Asia     Asia
## 25        Asia     Asia
## 26        Asia     Asia
## 27        Asia     Asia
## 28        Asia     Asia
## 29        Asia     Asia
## 30        Asia     Asia
## 31        Asia     Asia
## 32        Asia     Asia
## 33        Asia     Asia
## 34        Asia     Asia
## 35        Asia     Asia
## 36        Asia     Asia
## 37        Asia     Asia
## 38        Asia     Asia
## 39        Asia     Asia
## 40        Asia     Asia
## 41        Asia     Asia
## 42        Asia     Asia
## 43        Asia     Asia
## 44        Asia     Asia
## 45        Asia     Asia

Replacing matches

map %>%
    mutate(col_Africa = str_extract(Continents, "Africa")) %>%
    select(Continents, col_Africa) %>%
    filter(!is.na(col_Africa))
##    Continents col_Africa
## 1      Africa     Africa
## 2      Africa     Africa
## 3      Africa     Africa
## 4      Africa     Africa
## 5      Africa     Africa
## 6      Africa     Africa
## 7      Africa     Africa
## 8      Africa     Africa
## 9      Africa     Africa
## 10     Africa     Africa
## 11     Africa     Africa
## 12     Africa     Africa
## 13     Africa     Africa
## 14     Africa     Africa
## 15     Africa     Africa
## 16     Africa     Africa
## 17     Africa     Africa
## 18     Africa     Africa
## 19     Africa     Africa
## 20     Africa     Africa
## 21     Africa     Africa
## 22     Africa     Africa
## 23     Africa     Africa
## 24     Africa     Africa
## 25     Africa     Africa
## 26     Africa     Africa
## 27     Africa     Africa
## 28     Africa     Africa
## 29     Africa     Africa
## 30     Africa     Africa
## 31     Africa     Africa
## 32     Africa     Africa
## 33     Africa     Africa
## 34     Africa     Africa
## 35     Africa     Africa
## 36     Africa     Africa
## 37     Africa     Africa
## 38     Africa     Africa
## 39     Africa     Africa
## 40     Africa     Africa
## 41     Africa     Africa
## 42     Africa     Africa
## 43     Africa     Africa
## 44     Africa     Africa
## 45     Africa     Africa
## 46     Africa     Africa
## 47     Africa     Africa
## 48     Africa     Africa
## 49     Africa     Africa
## 50     Africa     Africa
## 51     Africa     Africa
## 52     Africa     Africa

Splitting

sentences[1] %>% str_split(" ", n = 3, simplify = TRUE)
##      [,1]  [,2]    [,3]                              
## [1,] "The" "birch" "canoe slid on the smooth planks."

Other types of patterns

map %>% filter(str_detect(origin, regex("^e", ignore_case = TRUE)))
## [1] X.            Country       Population    Continents    Land.Area.Km2
## [6] World.       
## <0 rows> (or 0-length row.names)