R Aspell доморощенный

Работает на MacBook Pro с ОС 10.6. Я недавно установил пакет Aspell с менеджером пакетов R, и кажется, что установка прошла нормально (без ошибок установки). но когда я пытаюсь использовать aspell, я получаю следующую ошибку,

> aspell("love")
Error in getSpeller() :
  No word lists can be found for the language "en_US".

Я тоже пробовал

> aspell("love", program = "/usr/local/bin/aspell")

Я также установил aspell и hunspell отдельно, используя GitHubs Homebrew. Когда я установил Aspell с homebrew, я использовал

brew install aspell --lang=en_US

Есть ли где-нибудь, где я ищу на своем Mac, чтобы проверить, установлен ли язык en_US? И если я обнаружу, что en_US существует, есть ли какие-либо предложения относительно того, почему R не находит его?

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

4 ответа

Решение

Прошло много времени, но у меня недавно была та же проблема, и исправление было:

brew remove aspell
brew install aspell --lang=en

Я должен был уделить больше внимания, когда это пролетело в оригинальной установке brew:

Словари не устанавливаются автоматически, укажите языки, для которых вы хотите, чтобы словари устанавливались с опцией --lang, например: % brew install aspell --lang=en,es

Для следующих языков доступны словари aspell: af, am, ar, ast, az, be, bg, bn, br, ca, cs, csb, cy, da, de, de_alt, el, en, eo, es, et ФА, ФИ, ФУ, ФР, ФУ, ГА, Б-Г, ГЛ, ГРК, ГУ, Г.В., он, привет, ХИ, ХР, ХСБ, ХУ, ХИ, ИА, ID, это, это, КН, Ку, Кей, la, lt, lv, mg, mi, mk, ml, mn, mr, ms, mt, nb, nds, nl, nn, ny, или, pa, pl, pt_BR, pt_PT, qu, ro, ru, rw, sc, sk, sl, sr, sv, sw, ta, te, tet, tk, tl, tn, tr, uk, uz, vi, wa, yi, zu

Как показано в нижней части формулы Aspell, вы можете использовать --with-lang-#{name} вариант. В моем случае я хотел установить несколько словарей: de, en & pl. Я сделал это с помощью этой команды:

brew install aspell --with-lang-de --with-lang-en --with-lang-pl

Для просмотра всех доступных вариантов установки используйте brew info aspell (Спасибо Андрей)

--lang опция, упомянутая в этой теме с --lang=de,en,pl не работал для меня

Я не понимаю, что ты делаешь. aspell является функцией в пакете utils и поэтому по умолчанию загружается при запуске R Первым аргументом aspell является имя файла, а не текстовый вектор. Вам может потребоваться установить словарь, к которому может обращаться функция aspell. Но на моем Mac уже установлено несколько версий (и, возможно, потребуется выполнить некоторую очистку.) В репозитории Omegahat также есть та, которая протестирована с R. Интерфейс с Aspell, вероятно, будет пытаться выбрать правильный язык. Вы можете увидеть, что R считает правильным языком, с помощью sessionInfo() и посмотреть настройки LOCALE. Вы можете найти местоположение вашей установки Aspell с помощью Terminal.app, введя locate aspell в командной строке.

Это модификация примера в справке (aspell), который проверяет орфографию файлов t*.dat:

files <- Sys.glob("~/t*.dat")
 res <- aspell(files)
 str(res)
 length(res$File)
#[1] 309    # so I probably should have been more narrow than asking for .dat files beginning with "t".

Как примечание, aspell() работает с факторами, но не с векторными символами. Это не поможет до тех пор, пока у вас установлен Aspell (или другая проверка орфографии), но потом, если вы хотите использовать aspell() для данных в R (вместо того, чтобы просто работать с файлами), убедитесь, что они правильно отформатированы.

Вот пример:

> str1 <- "This is a string with a mispeled word"
> str1 <- as.character(str1)
> aspell(str1)
Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") :
  cannot open file 'This is a string with a mispeled word': No such file or directory
> str1 <- "This is a string with a mispelled word"
> str1 <- as.factor(str1)
> results1 <- aspell(str1)
> results1 
mispelled
  <unknown>:1:25
Другие вопросы по тегам