Problemas al intentar cargar un paquete en R debido a rJava


93

Cuando require(xlsx)escribo para cargar el paquete xlsxen R, se muestran los siguientes mensajes:

> require(xlsx)
Loading required package: xlsx
Loading required package: xlsxjars
Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: fun(libname, pkgname)
  error: JAVA_HOME cannot be determined from the Registry
Failed with error:  ‘package ‘rJava’ could not be loaded’

También intenté cargar el rJavapaquete manualmente pero recibí este mensaje de error:

require(rJava)
Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: fun(libname, pkgname)
  error: No CurrentVersion entry in Software/JavaSoft registry! Try re-installing Java and make sure R and Java have matching architectures.

¿Tiene alguna sugerencia sobre cómo solucionar el problema?


4
Intente instalar rJava... Lea esto
estudio del

6
¿Cual plataforma? Si es Windows, esto puede ser útil.
dardisco

Además, su problema le permite guardar primero su archivo .xlsx en un csv y luego usar read.csv, en lugar de intentar leer en el archivo .xlsx
generic_user

2
Si la última respuesta enumerada (16 votos en este momento) lo solucionó, marque la respuesta como aceptada.
Slak

También encontré este problema, pero lo desvié usando el readxlpaquete de Hadley Wickham . Más discusión sobre aquí - no se puede instalar libraryxlsx en ry buscar una alternativa
Ben

Respuestas:


123

La razón probablemente esté relacionada con el hecho de que está utilizando un sistema operativo de 64 bits y una versión R, pero no tiene Java instalado con la misma arquitectura. Lo que tienes que hacer es descargar Java de 64 bits desde esta página: https://www.java.com/en/download/manual.jsp

Después de eso, intente volver a cargar el xlsxpaquete. No debería necesitar reiniciar R.


2
(+1) No estoy seguro de si el mensaje de R apunta completamente a esto como el problema, ¡pero ese fue mi caso! Para estar seguro, puede comprobarlo. Si tiene un sistema operativo de 64 bits y R de 64 bits, ejecute la línea de comando e intente java -d64 version. Si tiene Java de 64 bits en funcionamiento, podría ser un problema de ruta del sistema.
AdamO

3
¿Quiso decir java -d64 -version?
Harrison

8

Tuve un problema similar que funcionó para mí fue configurar JAVA_HOME. Lo cansé primero en R:

Sys.setenv(JAVA_HOME = "C:/Program Files/Java/jdk1.8.0_101/")

Y cuando realmente funcionó, lo configuré en Propiedades del sistema -> Avanzado -> Variables de entorno agregando una nueva variable de sistema. Luego reinicié R / RStudio y todo funcionó.


7

Es porque falta una de las versiones de Java (32 bits / 64 bits) en su computadora. Intente instalar ambos Jdks y ejecute el código.
Después de instalar Jdks, abra R y escriba el código

system("java -version")

Esto le dará la versión de Jdk instalada. Luego intente cargar el paquete rJava. Esto funcionó para mí.


4

Tuve un problema similar. Se debe al paquete dependiente 'rJava'. Este problema puede superarse redirigiendo la R para que utilice una JAVA_HOME.

if(Sys.getenv("JAVA_HOME")!=""){
    Sys.setenv(JAVA_HOME="")
}
library(rJava)

Esto funcionó para mí.


4

Si tiene este error en RStudio, use el código ambiental de Lauren anterior y cambie su versión R a la versión de 32 bits en Herramientas, Opciones globales. Debería haber opciones R de 32 bits y 64 bits si tiene una versión más nueva. Esto requerirá reiniciar R y limitar sus opciones de memoria. Sin embargo, no será necesario instalar la versión de 64 bits de jre.


2

Un paquete alternativo que puede utilizar es readxl . Este paquete no requiere dependencias externas.


2

¡Creo que encontré la resolución porque tenía el mismo problema!

Mi solución fue instalar la actualización 181 de la versión 8 de JRE (Java Runtime Environment) de 32 y 64 bits. (Necesito 32 bits para otra aplicación, pero su solución puede ser simplemente reinstalar 64 bits por sí sola).


1

Responder en enlace resolvió mi problema.

Antes de la resolución, probé agregando JAVA_HOME a los entornos de Windows. Resolvió este error pero creó otro problema. La solución en el enlace anterior resuelve este problema sin crear problemas adicionales.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.