# Buscar librerías
.libPaths() # Las rutas de las carpetas, listadas en el orden en que R las instala/busca.
# Nota: Se listarán todas las unidades, pero para instalar en algunas (ej. C:)
# puede que se necesite ejecutar RStudio como administrador (no aparecerá en el menú desplegable
# de instalación de paquetes)
49 R en redes locales
49.1 Resumen
El uso de R en unidades compartidas de la red o de la “empresa” puede presentar desafíos adicionales. Esta página contiene enfoques, errores comunes y sugerencias sobre la solución de problemas obtenidas a partir de nuestra experiencia trabajando con estos problemas. Se incluyen consejos para las situaciones especialmente delicadas relacionadas con R Markdown.
Uso de R en unidades de red: Principios generales
- Debes tener acceso de administrador a tu ordenador. Configura RStudio específicamente para que se ejecute como administrador.
- Guarda los paquetes en una biblioteca en una unidad con letras (por ejemplo, “C:”) cuando sea posible. Uiliza lo menos posible una biblioteca de paquetes cuya ruta comience por “\".
- El paquete rmarkdown debe no estar en una librería de paquetes “\", ya que entonces no puede conectarse a TinyTex o Pandoc.
49.2 RStudio como administrador
Cuando clicas en el icono de RStudio para abrirlo, hazlo clicando con el botón derecho. Dependiendo de tu máquina, puedes ver una opción para “Ejecutar como administrador”. O si no, puedes ver una opción para seleccionar Propiedades (entonces debería aparecer una ventana con la opción “Compatibilidad”, y selecciona una casilla de verificación “Ejecutar como administrador”).
49.3 Comandos útiles
A continuación se presentan algunos comandos útiles cuando se trata de solucionar problemas utilizando R en unidades de red.
Puedes devolver la(s) ruta(s) a las bibliotecas de paquetes que R está utilizando. Serán listadas en el orden que R está usando para instalar/cargar/buscar paquetes. Por lo tanto, si quieres que R utilice una biblioteca diferente por defecto, puedes cambiar el orden de estas rutas (ver más abajo).
Es posible que desees cambiar el orden de las bibliotecas de paquetes utilizados por R. Por ejemplo, si R está recogiendo una ubicación de la biblioteca que comienza con “\" y uno que comienza con una letra, por ejemplo,”D:“. Puedes ajustar el orden de .libPaths()
con el siguiente código.
# Cambiar el orden de las carpetas
# esto puede afectar la prioridad de R al encontrar un paquete. Por ejemplo, puede que quiera que la unidad C: aparezca primera en la lista
<- .libPaths() # obtiene las rutas
myPaths <- c(myPaths[2], myPaths[1]) # las cambia
myPaths .libPaths(myPaths) # las reasigna de nuevo
Si tienes dificultades para que R Markdown se conecte a Pandoc, comienza con este código para averiguar dónde cree RStudio que está tu instalación de Pandoc.
# Encontrar Pandoc
Sys.getenv("RSTUDIO_PANDOC") # Encuentra dónde cree RStudio que está la instalación de Pandoc
Si quieres ver de qué biblioteca se está cargando un paquete, prueba con el siguiente código:
# Encuentra un paquete
# da la primera ubicación del paquete ( tener en cuenta el orden de las unidades o carpetas)
find.package("rmarkdown", lib.loc = NULL, quiet = FALSE, verbose = getOption("verbose"))
49.4 Solución de errores comunes
“Fallo al compilar…tex en rmarkdown”
- Comprueba la instalación de TinyTex, o instala TinyTex en la ubicación C:. Consulta la página de fundamentos de R sobre cómo instalar TinyTex.
# comprueba/instala tinytex, en la ubicación C:.
::install_tinytex()
tinytex:::is_tinytex() # debería devolver TRUE ( observar los tres dos puntos) tinytex
No se pueden cargar las rutinas de Internet.
Por ejemplo, Error in tools::startDynamicHelp() : internet routines cannot be loaded
- Intenta seleccionar la versión de 32 bits de RStudio a través de Herramientas/Opciones Globales.
- nota: si la versión de 32 bits no aparece en el menú, asegúrate que no está utilizando RStudio v1.2.
- Alternativamente, intenta desinstalar R y volver a instalarlo con una versión de bits diferente (32 en lugar de 64)
C: la biblioteca no aparece como opción cuando intento instalar los paquetes manualmente
- Ejecuta RStudio como administrador, entonces aparecerá esta opción.
- Para configurar RStudio para que se ejecute siempre como administrador (lo que resulta ventajoso cuando se utiliza un proyecto R en el que no se clica en el icono de RStudio para abrirlo)… clica con el botón derecho en el icono de Rstudio
La imagen siguiente muestra cómo puedes seleccionar manualmente la biblioteca en la que instalar un paquete. Esta ventana aparece cuando se abre el panel de paquetes de RStudio y se clica en “Install”.
Error Pandoc 1
Si aparece el error “pandoc error 1” al ejecutar R Markdowns scripts en unidades de red:
- De las múltiples ubicaciones de las bibliotecas, que aparezca en primer lugar la que tenga una unidad de disco con letras (véanse los códigos anteriores)
- La solución anterior funciona en una unidad de red local, si establece la conexión a Internet en la red
- Mira más consejos aquí: https://ciser.cornell.edu/rmarkdown-knit-to-html-word-pdf/
Error Pandoc 83
El error será algo así: can't find file...rmarkdown...lua...
. Esto significa que no se ha podido encontrar este archivo.
Posibilidades:
- El paquete Rmarkdown no está instalado
- El paquete Rmarkdown no se encuentra
- Un problema de derechos de administración.
Es posible que R no sea capaz de encontrar el archivo del paquete rmarkdown, así que comprueba en qué biblioteca está el paquete rmarkdown (vearel código anterior). Si el paquete está instalado en una biblioteca inaccesible (por ejemplo, comienza con “\") considera moverlo manualmente a C: o a otra biblioteca con nombre. Ten en cuenta que el paquete rmarkdown tiene que ser capaz de conectarse a la instalación de TinyTex, por lo que no puede valojarse en una biblioteca en una unidad de red.
Error Pandoc 61
Por ejemplo: Error: pandoc document conversion failed with error 61
o Could not fetch...
- Prueba a ejecutar RStudio como administrador (clica con el botón derecho en el icono, selecciona ejecutar como administrador, vea las instrucciones anteriores)
- Ver también si el paquete específico que no pudo ser alcanzado puede ser movido a la biblioteca C:.
Error de LaTex (ver más abajo)
Un error como: ! Package pdftex.def Error: File 'cict_qm2_2020-06-29_files/figure-latex/unnamed-chunk-5-1.png' not found: using draft setting.
o Error: LaTeX failed to compile file_name.tex.
- Consulta https://yihui.org/tinytex/r/#debugging para obtener consejos de depuración.
- Ver file_name.log para más información.
Error Pandoc 127
Podría tratarse de un problema de RAM (espacio). Reinicia tu sesión de R e inténtelo de nuevo.
Asignación de unidades de red
Mapear una unidad de red puede ser arriesgado. Consulta con tu departamento de TI antes de intentarlo.
Un consejo tomado de este foro de discusión:
¿Cómo se abre un archivo “a través de una unidad de red asignada”?
- En primer lugar, tendrás que conocer la ubicación de la red a la que intentas acceder.
- A continuación, en el administrador de archivos de Windows, deberás clicar con el botón derecho en “Este PC” en el panel de la derecha, y seleccionar “Asignar una unidad de red”.
- Asigna la ubicación de red como una letra de unidad.
- Ahora tienes dos maneras de llegar al archivo que estás abriendo. Usar la ruta de la letra de la unidad debería funcionar.
Error in install.packages()
Si obtienes un error que incluya la mención de un directorio de “bloqueo”, por ejemplo Error in install.packages : ERROR: failed to lock directory...
Busca en tu biblioteca de paquetes y verás una carpeta cuyo nombre empieza por “00LOCK”. Prueba los siguientes consejos:
- Elimina manualmente el directorio de la carpeta “00LOCK” de tu biblioteca de paquetes. Intenta instalar el paquete de nuevo.
- También puedes probar el comando
pacman::p_unlock()
(también puedes poner este comando en el Rprofile para que se ejecute cada vez que se abra el proyecto). Luego intenta instalar el paquete de nuevo. Puedes necesitar varios intentos. - Prueba a ejecutar RStudio en modo de administrador e intenta instalar los paquetes uno por uno.
- Si todo lo demás falla, instala el paquete en otra biblioteca o carpeta (por ejemplo, Temp) y luego copia manualmente la carpeta del paquete en la biblioteca deseada.