2012-02-02 23 views

Respuesta

23

El error le está diciendo que no hay ninguna entrada en el registro que le dice a R en la que se encuentra Java en su máquina. O su registro está dañado, pero es más probable que no haya instalado Java. Puede instalar Java Runtime Environment o Java Development Kit.

(You can download Java here.)

Si ha instalado Java, intente volver a instalarlo. Esto debería volver a colocar las entradas en su Registro.

Si eso no funciona, puede comenzar a buscar exactamente donde R está buscando las entradas de su Registro. La función que rJava usa para encontrar Java está en la función rJava :::. OnLoad. Dentro de esa función hay una subfunción llamada find.java. Copio el contenido aquí:

find.java <- function() { 
     for (root in c("HLM", "HCU")) for (key in c("Software\\JavaSoft\\Java Runtime Environment", 
      "Software\\JavaSoft\\Java Development Kit")) { 
      hive <- try(utils::readRegistry(key, root, 2), 
       silent = TRUE) 
      if (!inherits(hive, "try-error")) 
       return(hive) 
     } 
     hive 
    } 

copiar y pegar esto en su ventana de R, y luego ejecutarlo find.java(). rJava está buscando una entrada para JavaHome. Si eso no figura en la lista, entonces falta en su registro.

También puede ajustar manualmente el directorio de su ubicación mediante el establecimiento de Java antes de cargar la biblioteca:

Sys.setenv(JAVA_HOME='C:\\Your\\Java\\Directory') 
library(rJava) 
+6

Lo anterior es correcto. Además, tenga en cuenta que necesitará arquitecturas coincidentes para R y Java (si tiene Windows de 64 bits). Como último recurso, puede configurar JAVA_HOME para que apunte a su instalación de Java, pero normalmente lo anterior significa que hay algún problema con la instalación de Java. –

+0

JDK está instalado en mi pc.java -version versión java "1.6.0_20" Java (TM) SE Runtime Environment (compilación 1.6.0_20-b02) Java HotSpot (TM) Client VM (compilación 16.3-b01, mixto modo, compartiendo) –

+0

Hice algunas adiciones en mi respuesta. – nograpes

2

Si como yo, usted no tiene derechos de administrador para instalar Java de 64 bits, basta con abrir 32- bit R y debería funcionar bien en su PC de 64 bits, ya que parte del problema parece ser que la función de la biblioteca rJava llama a las funciones/rutinas Java incorporadas, que solo pueden estar diseñadas para una interfaz de 32 bits con Excel/Windows y posiblemente demasiado grandes una tarea en el momento de cambiar todo.

0

Respuesta en link resolvió mi problema.

Antes de la resolución, traté de agregar 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.

Cuestiones relacionadas