2015-03-02 2 views
0

Рассмотрите следующие две строки: applesauce и apple-sauce. Они относятся к одному и тому же объекту. Таким образом, любая запись, содержащая эти два имени, будет считаться дублирующими. Однако в R они рассматриваются как отдельные уровни. Можно ли использовать расстояние редактирования, чтобы определить, насколько похожи эти два имени, используя пакет stringdist?Есть ли способ проверить, являются ли две строки примерно одинаковыми?

+1

Или вы могли бы использовать по умолчанию 'adist в)' функцию (. Таким образом, можно использовать расстояние редактирования, что часто может стать беспорядочным. Если вы просто хотите игнорировать несимвольные значения, такие как тире или другую пунктуацию, тогда вы можете использовать регулярное выражение для удаления этих символов. Вы должны быть гораздо более ясными относительно того, что вы хотите делать с вашими данными, чтобы превратить это в конкретный вопрос программирования. – MrFlick

+1

Возможно, вы также захотите ознакомиться с такими инструментами, как [OpenRefine] (http://openrefine.org/), что может быть очень удобно для решения таких проблем. – A5C1D2H2I1M1N2O1R2T1

+0

Вы также можете посмотреть пакет RecordLinkages и функцию agrep базы R. Например, agrep («applesauce», «apple-sauce», ignore.case = TRUE, max.distance = 0.4). – lawyeR

ответ

0

Как насчет этого.

"applesauce"==gsub("-","","apple-sauce") 

для нескольких аргументов как "applesauce"=="apple - sauce" вы можете использовали этот Replace multiple arguments with gsub