高效的字符串搜索和替换

Dic*_*nus 1 regex performance r data-cleaning

我想在一个由职称组成的数据库中清理大约200万个条目.许多都有几个缩写,我希望改为一个一致且更容易搜索的选项.到目前为止,我只是使用单独的mapply(gsub(...)命令运行列.但是我做了大约80次更改,因此运行需要将近30分钟.必须有一个更好的方法.我是字符串搜索的新手,我找到了*$诀窍,这有助于.有没有办法在一个单独的搜索mapply?我想可能更快?任何帮助都会很棒.谢谢.

以下是一些代码.测试是一个包含200万个人职位的专栏.

test <- mapply(gsub, " Admin ", " Administrator ", test)
test <- mapply(gsub, "Admin ", "Administrator ", test)
test <- mapply(gsub, " Admin*$", " Administrator", test)
test <- mapply(gsub, "Acc ", " Accounting ", test)
test <- mapply(gsub, " Admstr ", " Administrator ", test)
test <- mapply(gsub, " Anlyst ", " Analyst ", test)
test <- mapply(gsub, "Anlyst ", "Analyst ", test)
test <- mapply(gsub, " Asst ", " Assistant ", test)
test <- mapply(gsub, "Asst ", "Assistant ", test)
test <- mapply(gsub, " Assoc ", " Associate ", test)
test <- mapply(gsub, "Assoc ", "Associate ", test)
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

一种选择是使用mgsublibrary(qdap)

mgsub(patternVec, replaceVec, test)
Run Code Online (Sandbox Code Playgroud)

数据

patternVec <- c(" Admin ", "Admin ")
replaceVec <- c(" Administrator ",  "Administrator ")
Run Code Online (Sandbox Code Playgroud)