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)
一种选择是使用mgsub由library(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)