Рассмотрите следующие две строки: applesauce
и apple-sauce
. Они относятся к одному и тому же объекту. Таким образом, любая запись, содержащая эти два имени, будет считаться дублирующими. Однако в R они рассматриваются как отдельные уровни. Можно ли использовать расстояние редактирования, чтобы определить, насколько похожи эти два имени, используя пакет stringdist
?Есть ли способ проверить, являются ли две строки примерно одинаковыми?
0
A
ответ
0
Как насчет этого.
"applesauce"==gsub("-","","apple-sauce")
для нескольких аргументов как "applesauce"=="apple - sauce"
вы можете использовали этот Replace multiple arguments with gsub
Или вы могли бы использовать по умолчанию 'adist в)' функцию (. Таким образом, можно использовать расстояние редактирования, что часто может стать беспорядочным. Если вы просто хотите игнорировать несимвольные значения, такие как тире или другую пунктуацию, тогда вы можете использовать регулярное выражение для удаления этих символов. Вы должны быть гораздо более ясными относительно того, что вы хотите делать с вашими данными, чтобы превратить это в конкретный вопрос программирования. – MrFlick
Возможно, вы также захотите ознакомиться с такими инструментами, как [OpenRefine] (http://openrefine.org/), что может быть очень удобно для решения таких проблем. – A5C1D2H2I1M1N2O1R2T1
Вы также можете посмотреть пакет RecordLinkages и функцию agrep базы R. Например, agrep («applesauce», «apple-sauce», ignore.case = TRUE, max.distance = 0.4). – lawyeR