У меня есть одно предложение, где я хочу заменить только часть строки номером. Если мы имеем точное соответствие, функция gsub работает отлично.Приблизительное соответствие и замена в тексте R
gsub('great thing', 5555 ,c('hey this is a great thing'))
gsub('good rabbit', 5555 ,c('hey this is a good rabbit in the field'))
Но теперь у меня есть следующая проблема. Как я могу применить функцию нечеткого соответствия к строке, если в части строки есть ошибка?
gsub('great thing', 5555 ,c('hey this is a graet thing'))
gsub('good rabbit', 5555 ,c('hey this is a goood rabit in the field'))
Алгоритм должен понять, что «великая вещь» и «graet вещь» или «хороший кролик» и «GoooD Rabit» очень похожи и должна быть заменена на номере 5555. Лучше всего, если мы можем использовать Расстояние Jaro Winkler, чтобы найти приблизительное соответствие внутри строки, а затем заменить приблизительную подстроку. Мне нужен очень абстрактный алогритм, который может это сделать.
Любые идеи?
Авось 'GSUB ('gr [ae] [ae] t thing', 5555, c ('hey this is graet thing')) ' – akrun
' agrep' за победу! –
ну, я думал о применении алгоритма с нечетким совпадением с расстоянием от jaro-миксера. Это возможно? – OAM