#r #text #nlp
#r #текст #nlp
Вопрос:
У меня есть несколько строк, хранящихся в атомарном векторе:
v <- c("The kat ran up the tree", "The dogg ran up the tree", "The squirrrel run up the tree")
Я хотел бы исправить орфографические ошибки:
v <- gsub('kat', 'cat', v)
v <- gsub('dogg', 'dog', v)
v <- gsub('squirrel', 'squirrrel', v)
Однако мне не нравится повторяющийся код. Есть ли какой-нибудь способ сделать эквивалент этого:
v1 <- c('kat', 'dogg', 'squirrrel')
v2 <- c('cat', 'dog', 'squirrel')
v <- gsub(v1, v2, v)
Ответ №1:
Самый простой вариант str_replace_all
— передать named
vector
или list
library(stringr)
str_replace_all(v, setNames(v2, v1))
-вывод
#[1] "The cat ran up the tree"
#[2] "The dog ran up the tree"
#[3] "The squirrel run up the tree"