Error “.onLoad falló en loadNamespace () para ‘tcltk'”

Tengo una pregunta general sobre cómo cargar efectivamente cualquier clase de paquete externo en R. He encontrado que muchas fonts que detallan esta información son simplemente insuficientes, pero dejaré de mencionar esas respectivas URL. He cargado con éxito paquetes externos en R antes, pero tengo dificultades para cargar el paquete fgui .

En mi caso específico, no puedo cargar la biblioteca fgui en R Studio. Primero lo descargo directamente de CRAN con el comando:

 install.packages("fgui", lib="~/Documents/R_dir") 

Esto funciona bien para mi. Mi directorio de trabajo está establecido en ~ / Documents / R_dir

El próximo comando que uso es:

 library("fgui", lib.loc="~/Documents/R_dir") 

El error que recibo es:

 Error : .onLoad failed in loadNamespace() for 'tcltk', details: call: dyn.load(file, DLLpath = DLLpath, ...) error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so': dlopen(/Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so, 10): Library not loaded: /opt/X11/lib/libX11.6.dylib Referenced from: /Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so Reason: image not found Error: package or namespace load failed for 'fgui' 

He examinado el hilo ” Error al intentar cargar la biblioteca (ggplot2) en R “, pero no respondió mi pregunta.

fgui con cualquier sugerencia para que el paquete fgui funcione correctamente en R Studio y siéntase libre de abordar el problema más general de cargar eficazmente paquetes externos en R.

tcltk no es un paquete típico. Probablemente ya esté instalado en su sistema y no se puede instalar utilizando el procedimiento usual de install.packages porque no está en CRAN (al igual que los paquetes base que vienen con R, como stats , etc.). Además, tcltk2 no es lo mismo que tcltk ; ese es un paquete que se expande (y depende de) la funcionalidad de tcltk .

Entonces, comienza con esto:

 > capabilities("tcltk") tcltk TRUE 

Si eso vuelve FALSE , significa que su R no fue construida con el soporte tcltk. No dices qué sistema operativo estás usando, por lo que es un poco difícil ayudarte.

Dicho eso, si estás en Linux , necesitas reconstruir R con soporte tcltk . Esto debería ser relativamente sencillo. Básicamente, asegúrese de que Tcl y tk estén disponibles en su sistema en una ubicación estándar (algo así como sudo apt-get install tcl8.5-dev tk8.5-dev ) y luego reconstruya R por los procedimientos habituales.

Si usa Mac OS , se encuentra con el mismo error que John Fox describe aquí en relación con Rcmdr . En resumen, es probable que sea una de dos cosas:

  1. Un problema de permiso de archivo relacionado con el directorio donde tiene instalado Tcl. Para citar a Fox: “Puede verificar el origen de este problema emitiendo el siguiente comando en el símbolo del sistema R:

     system("ls -ld /usr/local /usr/local/lib /usr/local/lib/libtcl*") # ls: /usr/local/lib: Permission denied # ls: /usr/local/lib/libtcl*: Permission denied # drwx------ 8 root wheel 272 Sep 24 10:21 /usr/local 

Si el resultado del comando del sistema es similar al anterior, debe ir a Terminal y hacer lo siguiente: sudo chmod -R a+rX /usr/local e ingresar su contraseña para cambiar los permisos del directorio.

  1. Tienes una versión obsoleta de X-Windows. Intenta ejecutar la actualización de software de Mac OS.

También puede resolverse creando un enlace simbólico como se describe en esta respuesta .

Esto nunca debería aparecer en Windows , a menos que haya creado R desde la fuente sin soporte tcl / tk.

Las instrucciones de instalación oficiales para R dicen:

Nota: el uso de X11 (incluido tcltk) requiere la instalación de XQuartz, ya que ya no forma parte de OS X. Siempre vuelva a instalar XQuartz cuando actualice su OS X a una nueva versión principal.

Entonces: Simplemente (re) instale XQuartz si desea usar el paquete tcltk en R.

  1. eliminar el archivo X11 en la ubicación: / opt
  2. borre el X11 en la unidad de aplicación
  3. reinstalar X11 nuevamente

Problema resuelto…

Para usuarios de Mac OS:

Luché con este problema recientemente y descubrí que R-3.1.2 tiene un error, que supone que el otool está instalado cuando no es así.

R-3.0.0 (y posterior) se envía con Tck / Tk 8.6.0, por lo que no debería necesitar instalar eso.

Simplemente actualizando a una versión más reciente de R (3.4.2) solucionó el problema.