Исправление неверно введенных данных в R - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу исправить неправильно введенные данные в R. Например, если у меня есть вектор

V=c('PO','PO','P0')

, я хочу, чтобы R распознал, что 0 в последней записи должен быть ao, и изменил его.Есть ли способ сделать это?Я пытаюсь использовать correctTypos в пакете deduc корректно в R. Однако у меня возникли некоторые проблемы с editset.Я не могу указать, что все записи должны быть буквами.Любая помощь с благодарностью.

Другим примером будет

V2=c('PL','P1','PL','XX')

Это 1 должно быть L.

1 Ответ

0 голосов
/ 03 декабря 2018

Расстояние jaro-winkler было разработано для поиска проблем с вводом данных.Но для записей только 2 длинных это будет трудно, так как 1 ошибка имеет тенденцию набирать больше очков, чем вы хотите.Вы можете комбинировать это с другими измерениями расстояния, доступными в пакете stringdist.Но в этом случае это может быть слишком сложно.

Учитывая ваши примеры, вы можете использовать базовую функцию chartr и настроить замену цифр на буквы.

chartr("01","OL", V2)
[1] "PL" "PL" "PL" "XX"

chartr("01","OL", V)
[1] "PO" "PO" "PO"

Это всегда заменит 1 на L, а 0 (ноль) на O. Вы можете добавить 5 для S и т. Д. И т. Д. Но если есть другие комбо, это может усложниться.

Также обратите внимание, что следующей итерацией дедуктивного пакета является дедуктивный пакет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...