r - 如何在R中用正确的单词替换错误的拼写单词
问题描述
我知道可能会问类似的问题,但我觉得我的要求很特殊。我有两个数据框:一个带有拼写错误的单词,另一个带有更正单词的数据框。
我需要用另一个数据框中的正确单词替换每个不正确的单词。如果有最好的方法,请告诉我。
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)
我正在尝试使用以下代码,但没有得到预期的输出
corr_report_terms=list() # created empty list.
for(i in a){
str_split(i," ")
if(any(i %in% b))
corr_report_terms <- b$correct
}
预期输出:
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"
推荐阅读
- prolog - 使用未知变量简化 Prolog 中的表达式
- c# - 在 asp.net 核心中使用身份时未找到具有授权属性的操作
- javascript -
vue.js 和 vuetify 中的按钮导致“未定义属性或方法”错误 - docker - Filebeat docker安装
- c# - ASP.Net Web 应用程序 - Windows 10 - IIS Express - System.IO.PathTooLongException
- timescaledb - 将键入的旧数据回填到压缩的超表
- python - (重复)[WinError 10061] 由于目标机器主动拒绝,无法建立连接
- apache - 保护文件不通过 .htaccess 和 php 直接访问以检查会话 + 用户组
- python - 如何使用角度包过滤数据?
- python - 使用 .sort() 对整数进行排序