str_replace_all
из пакета stringr
позволяет сделать несколько замен, передав именованный вектор в аргумент replacement=
.
library(stringr)
charz <- data.frame(a = c('A', 'B'), stringsAsFactors = F)
# Works fine
str_replace_all('ABC', c('A' = '1', 'B' = 2))
[1] "12C"
Как я могу сделать это со значениями из фрейма данных, а не с пустыми символами?
# Does not work
# Should return "12C" as above
str_replace_all('ABC', c(charz$a[1] = '1', charz$a[2] = 2))
Error: unexpected '=' in "str_replace_all('ABC', c(charz$a[1] ="
str_replace_all('ABC', c(charz$a[1], charz$a[2]), c('1', '2'))
[1] "1BC" "A2C"