2012-02-02 4 views
18

iplots 및 rjava 패키지가 설치되었습니다. 이 라이브러리 (iplots)를 수행하면 다음 오류가 발생합니다. 내 컴퓨터에 JDK가 설치되어있다.64 비트 Windows 컴퓨터에서 64 비트 R 용 rJava를 어떻게 설치할 수 있습니까?

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 

오류 : 패키지 'rJava이'오류가 자바가 컴퓨터에있는 R를 알려주는 레지스트리에 항목이 없음을 말하고있다

답변

23

로드 할 수 없습니다. 레지스트리가 손상되었지만 자바를 설치하지 않았을 가능성이 큽니다. Java Runtime Environment 또는 Java Development Kit를 설치할 수 있습니다. 당신이 자바를 설치 한 경우

(You can download Java here.)

, 그것을 다시 설치하십시오. 이렇게하면 레지스트리에 항목이 다시 저장됩니다.

그래도 작동하지 않으면 R이 레지스트리 항목을 찾는 위치를 정확히 볼 수 있습니다. rJava가 Java를 찾기 위해 사용하는 함수는 rJava :::. onLoad 함수에 있습니다. 이 함수에는 find.java라는 부속 함수가 있습니다.

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 
    } 

복사하여 R 창에이 붙여 넣기 한 다음 find.java()을 실행 : 여기 내용을 복사합니다. rJava는 JavaHome에 대한 항목을 찾고 있습니다. 목록에 없으면 레지스트리에 없습니다.

당신은 수동으로 라이브러리를로드하기 전에 설정하여 자바 위치의 디렉토리를 설정할 수 있습니다 :

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

위 내용이 정확합니다. 또한 R 및 Java (64 비트 Windows를 사용하는 경우)와 일치하는 아키텍처가 필요합니다. 최후의 수단으로 Java 설치를 가리 키도록 JAVA_HOME을 설정할 수 있지만 일반적으로 위의 의미는 Java 설치에 문제가 있음을 의미합니다. –

+0

JDK가 pc.java에 설치되었습니다. -version java 버전 "1.6.0_20" Java (TM) SE 런타임 환경 (빌드 1.6.0_20-b02) Java HotSpot (TM) 클라이언트 VM (빌드 16.3-b01, 빌드 16.3-b01) 모드, 공유) –

+0

나는 내 대답에 몇 가지 추가 사항을 만들었습니다. – nograpes

2

나 같은 64 비트 자바, 열어 설치할 수있는 관리자 권한이없는 경우 32 비트 R 및 64 비트 PC에서 문제가 일부 rjava 라이브러리 함수를 호출 할 수있는 것처럼 보일 수 있습니다 Java 함수/루틴, Excel/Windows 및 아마도 너무 큰 함께 32 비트 인터페이스에 대해 설계된 내장 된 함수를 호출 할 것으로 보인다 모든 것을 바꿀 시간에 일.

0

응답에서 link이 내 문제를 해결했습니다.

해결하기 전에 Windows 환경에 JAVA_HOME을 추가해 보았습니다. 이 오류를 해결했지만 또 다른 문제가 발생했습니다. 위 링크의 솔루션은 추가 문제없이이 문제를 해결합니다.

관련 문제