Фильтр dplyr с использованием qdap::which_misspelt ИЛИ фильтр dplyr с вложенной функцией
Небольшой фрейм данных:
words <- data.frame(terms = c("qhick brown fox",
"tom dick harry",
"cats dgs"))
Если я использую qdap::which_misspelled
Я могу узнать неправильно написанные слова:
> which_misspelled(words)
1 8
"qhick" "dgs"
Но то, что я хочу сделать, это поместить слова df в строки, содержащие орфографические ошибки. Вышеуказанное возвращает индексы 1 и 8, относящиеся ко всем словам, указанным в моем файле df, независимо от того, какая строка.
Как я могу установить свою df на основе строк, содержащих слова с ошибками?
(Бонус, если это можно сделать с помощью фильтра dplyr)
1 ответ
Как насчет просто использовать check_spelling
который векторизован, и результат содержит столбец с номерами строк, которые можно использовать для поднабора фрейма данных:
library(qdap)
words[check_spelling(words$terms)$row,,drop=F]
# terms
#1 qhick brown fox
#3 cats dgs
which_misspelled
Кажется, функция предназначена для проверки одной строки вместо фрейма данных:
which_misspelled - проверить правильность написания строки.