Соответствие текста с использованием R, когда строки различаются
Я пытаюсь определить наблюдения, которые совпадают между двумя наборами данных, используя векторы текстовых строк $contractor
а также $employer
и создайте индикатор ИСТИНА / ЛОЖЬ о том, находится ли подрядчик в списке работодателей.
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, но в моих реальных данных количество и качество сопоставления невероятно различаются с небольшими изменениями принятого расстояния Левенштейна.
Здесь и здесь также есть ответы на некоторые вопросы, но мой недостаток передового опыта программирования не позволил мне применить эти концепции там. Любые мысли приветствуются!