如何在R中用正确的单词替换拼写错误的单词

如何在R中用正确的单词替换拼写错误的单词,r,tidyverse,str-replace,text-mining,R,Tidyverse,Str Replace,Text Mining,我知道可能会问类似的问题,但我觉得我的要求很特殊。 我有两个数据框:一个是拼写错误的单词,另一个是拼写正确的单词 我需要用另一个数据帧中的正确单词替换每个不正确的单词。 你能告诉我有没有最好的办法吗 a <- data.frame(reported_terms=c('abdome pain','adominal ache','adomen'), stringsAsFactors = FALSE) b <- data.frame(wrong=c('ad

我知道可能会问类似的问题,但我觉得我的要求很特殊。 我有两个数据框:一个是拼写错误的单词,另一个是拼写正确的单词

我需要用另一个数据帧中的正确单词替换每个不正确的单词。 你能告诉我有没有最好的办法吗

a <- data.frame(reported_terms=c('abdome pain','adominal ache','adomen'),
                stringsAsFactors = FALSE)

b <- data.frame(wrong=c('adomen','adominal','abdome'),correct=c('abdomen','abdominal','abdomen'),
                stringsAsFactors = FALSE)
棘手但有效:

library(stringi) 
stri_replace_all_regex(a$reported_terms, "\\b"%s+%b$wrong%s+%"\\b", b$correct, vectorize_all=FALSE)
abdomen pain
abdominal ache
abdomen
library(stringi) 
stri_replace_all_regex(a$reported_terms, "\\b"%s+%b$wrong%s+%"\\b", b$correct, vectorize_all=FALSE)
[1] "abdomen pain"   "abdominal ache" "abdomen"