Какую функцию / команду я могу использовать, чтобы найти и изменить несколько похожих записей внутри одного столбца полностью? - PullRequest
1 голос
/ 30 марта 2020

Я работаю над столбцом в наборе данных. Этот столбец содержит более 500 тыс. Строк и 1500 уникальных записей. Эти записи описывают разные города, но многие написаны с ошибками.

Что я хочу сделать, это определить все строки, которые похожи друг на друга (например, «Нью-Йорк против Нью-Йорка против Нью-Ярка»), а затем изменить все содержимое этой строки на «Нью-Йорк Сити». ".

Существуют ли команды, которые могут идентифицировать похожие строки и затем заменять их содержимое?

1 Ответ

0 голосов
/ 30 марта 2020

Вы можете попробовать использовать приблизительный "grep" - agrep():

Начните с некоторых городов-примеров:

cities <- c("New Yark", "New York City", "Nevada", "California", "new york", "New Amsterdam", "Naw York")

Получите имена, которые примерно соответствуют "Нью-Йорку" (у вас будет играть с max.dist параметром)

inds <- agrep("New York", cities, max.dist=0.2)

Вот те, которые соответствуют этому случаю:

cities[inds]
[1] "New Yark"      "New York City" "new york"      "Naw York"

Давайте изменим их:

cities[inds] <- "New York"
cities
[1] "New York"      "New York"      "Nevada"        "California"    "New York"      "New Amsterdam" "New York"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...