R Aspell homebrew


Trabajando en un Macbook pro con OS 10.6. Recientemente he instalado el paquete Aspell con el gestor de paquetes R y parece que la instalación fue muy bien (sin errores de instalación). pero cuando intento usar aspell obtengo el siguiente error,

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

También intenté

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

También instalé aspell y hunspell por separado usando GitHubs homebrew. Cuando instalé aspell con homebrew usé

brew install aspell --lang=en_US

¿Hay algún lugar que busque en mi mac para verificar que el en_US idioma fue instalado? Y si encuentro que en_US está ahí, ¿hay alguna sugerencia de por qué R no lo está encontrando?

Soy un poco novato cuando se trata de sutilezas de instalación de archivos fuente. Cualquier ayuda sería muy apreciada.

Author: mmichaa, 2011-07-19

4 answers

Ha pasado mucho tiempo, pero recientemente tuve el mismo problema y la solución fue:

brew remove aspell
brew install aspell --lang=en

Debería haber prestado más atención cuando esto pasó volando en la instalación original de brew:

Los diccionarios no se instalan automáticamente, especifique el idiomas para los que desea que se instalen diccionarios con el -- opción lang, por ejemplo: % brew install aspell lang lang = en, es

Para los siguientes idiomas existen diccionarios aspell: af, am, ar, ast, az, be, bg, bn, br, ca, cs, csb, cy, da, de, de_alt, el, en, eo, es, et, fa, fi, fo, fr, fy, ga, gd, gl, grc, gu, gv, he, hi, hil, hr, hsb, hu, hy, ia, id, is, it, kn, ku, ky, la, lt, lv, mg, mi, mk, ml, mn, mr, ms, mt, nb, nds, nl, nn, ny, or, 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

 33
Author: rgiar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-01 12:39:42

Como se muestra en la parte inferior de la fórmula de aspell, puede usar una opción --with-lang-#{name}. En mi caso, quería instalar varios diccionarios: de, en & pl. Lo hice con esta orden:

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

Para ver todas las opciones de instalación disponibles, use brew info aspell (Gracias Andrew)

La opción --lang mencionada en este hilo con --lang=de,en,pl no funcionó para mí.

 41
Author: mmichaa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-17 07:31:46

No entiendo lo que estás haciendo. aspell es una función en el paquete utils y, por lo tanto, se carga por defecto cuando se inicia R. El primer argumento de aspell es un nombre de archivo, no un vector de texto. Es posible que necesite instalar un diccionario al que la función aspell pueda acceder. Pero en mi Mac ya tengo varias versiones instaladas (y puede que tenga que hacer algo de limpieza.) El repositorio Omegahat también tiene uno que se prueba con R. La interfaz con Aspell probablemente intentará seleccione el idioma correcto. Puede ver lo que R piensa que es el lenguaje correcto con sessionInfo () y mirar la configuración REGIONAL. Puede encontrar la ubicación de su instalación Aspell con Terminal.aplicación introduciendo locate aspell en el símbolo del sistema.

Esta es una modificación del ejemplo de help(aspell) que comprueba la ortografía de t*.archivos 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".
 3
Author: 42-,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-19 15:30:51

Como nota, aspell() funciona con factores pero no con vectores de caracteres. Esto no ayudará hasta después de que tenga Aspell (u otro corrector ortográfico) instalado, pero después si desea usar aspell() en datos en R (en lugar de solo trabajar en archivos), asegúrese de que esté formateado correctamente.

Aquí hay un ejemplo:

> 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
 1
Author: screechOwl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-16 20:16:32