qdap check_spelling Ошибка в checkForRemoteErrors(val): один узел выдал ошибку: аргументы подразумевают разное количество строк

Я столкнулся с ошибкой

Error in checkForRemoteErrors(val) : 
  one node produced an error: arguments imply differing number of rows: 3, 0

при попытке использовать check_spelling в пакете qdap. Предоставленные числа 3 и 0 относятся к данным, представленным ниже, но это лишь небольшой образец гораздо большей строки проверки орфографии, и номера строк меняются, когда я передаю ей большие строки как для строки для проверки орфографии, так и для использования в качестве словаря. У меня был случайный успех, когда он внезапно начинал работать, но как только я пытался повторить процесс, я снова сталкивался с той же ошибкой.

Я сталкиваюсь с той же ошибкой, когда также использую функцию check_spelling_interactive().

Насколько я понимаю, слова, которые я хочу использовать для проверки орфографии и словаря, должны быть в векторах символов.

Я обновил свою версию qdap. Работает в Windows 7 64, R Studio версии 0.99.467, R версии 3.2.1.

Любая помощь будет очень признательна, пожалуйста, так как я теряю волосы из-за этого, и у меня не так много лишних вещей.

library(qdap)
spellcheckstring = "universal motor vlb"
mydictionary = c("brake", "starter", "shock", "pad", "kit", "bore", "toyota", "ford", "pump", "nissan", "gas", "alternator", "switch")

class(spellcheckstring) # character
class(mydictionary) # character

check_spelling(spellcheckstring, dictionary = mydictionary)

person CallumH    schedule 04.11.2015    source источник
comment
Для одного словарь представляет собой одну строку, он нуждается в том, чтобы они были разбиты на слова. Я все еще не понимаю, что ты пытаешься сделать.   -  person Tyler Rinker    schedule 05.11.2015
comment
Спасибо Тайлеру за этот указатель. У меня были отдельные слова, пока я не создал этот пример и не отредактировал его до отдельных слов. Это все еще дает мне ту же ошибку. Что я пытаюсь сделать, так это передать длинную строку (хотя для этого примера я сократил ее до 3 слов) в пользовательский словарь, чтобы я мог проверить орфографию и внести исправления. В качестве быстрого упражнения я просто запустил функцию, не указывая на свой пользовательский словарь check_spelling(spellcheckstring), и она сработала (предположительно, по умолчанию используется встроенный словарь, но в моем случае это мне не поможет).   -  person CallumH    schedule 05.11.2015
comment
Мой фактический список слов, которые я хотел бы проверить, исчисляется тысячами. Некоторые его подмножества работают, а другие нет. Я сузил три слова в примере «spellcheckstring», которые вызывают ошибку. Это заставляет меня думать, что с этой строкой происходит что-то забавное, однако, судя по моему комментарию выше, когда я удаляю свой пользовательский словарь, он работает и заставляет меня думать, что причиной является «mydictionary». Так что я в замешательстве.   -  person CallumH    schedule 05.11.2015
comment
Чтобы добавить к моему замешательству ... Я просто добавил дополнительное случайное слово («питер») в строку проверки правописания [spellcheckstring = универсальный двигатель vlb peter], и оно без проблем заработало с помощью check_spelling (spellcheckstring, словарь = мой словарь).   -  person CallumH    schedule 05.11.2015
comment
Я постараюсь посмотреть сегодня вечером (через 10 часов), чтобы увидеть, смогу ли я определить, что происходит. github.com/trinker/qdap/issues/217   -  person Tyler Rinker    schedule 05.11.2015


Ответы (1)


Словарь настолько мал, что при его разделении (https://github.com/trinker/qdapTRUE) нет возможных совпадений для этой буквы. Используйте assume.first.correct=FALSE:

check_spelling(spellcheckstring, dictionary = mydictionary, assume.first.correct=FALSE)

Версия 2.2.5 (версия для разработчиков) автоматически применяет assume.first.correct=FALSE, если в пользовательском словаре нет хотя бы одного слова, начинающегося со всех 26 букв алфавита.

Получите последний выпуск qdap

if (!require("pacman")) install.packages("pacman")
pacman::p_load_gh(
    "trinker/qdapDictionaries",
    "trinker/qdapRegex",
    "trinker/qdapTools",
    "trinker/qdap"
)
person Tyler Rinker    schedule 06.11.2015
comment
Спасибо @Тайлер. Я увеличил размер словаря, и он работает. Ты звезда! Кстати... Я использую qdap для сборки вещей и очень рад, что mgsub() тоже крут! Следующим займусь pacman. :) - person CallumH; 06.11.2015