我正在尝试使用文本字符串向量$contractor
和来识别两个数据集之间匹配的观察结果$employer
,并创建一个关于承包商是否在雇主列表中的 TRUE/FALSE 指示器。
library(caTools)
list<-data.frame(ID=c(1:6),
employer=c("a.c. construction","abc concrete company","xyz pool construction inc","frank studebager llc","annoying contractors llc","beaumont ditch digging co inc"))
jobs<-data.frame(contractor=c("a-c construction","hank hill construction","xyz pool const incorporated","frank studebaer co","hank hill const"),
value=c(400000,284590,410280,310980))
jobs$match<-pmatch(jobs$contractor,list$employer,duplicates.ok=TRUE)
pmatch 命令说有 0 个匹配项,但这是因为公司名称输入草率且拼写不一致;显然有比赛。我也使用了模糊匹配命令 agrepl,但在我的实际数据中,匹配的数量和质量会随着接受的 Levenshtein 距离的微小变化而发生令人难以置信的变化。