it-swarm.dev

rJava로 인해 R에 패키지를로드하려고 할 때의 문제점

R에 xlsx 패키지를로드하기 위해 require(xlsx)을 입력하면 다음 메시지가 표시됩니다.

> 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’

또한 rJava 패키지를 수동으로로드하려고 시도했지만 다음 오류 메시지가 나타납니다.

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.

문제를 해결하는 방법에 대한 제안이 있습니까?

74
Pritam Kar

이유는 아마도 64-bit OS 및 R 버전을 사용하고 있지만 Java가 설치되어 있지 않다는 사실과 관련이 있습니다. 동일한 아키텍처. 이 페이지에서 Java 64 비트를 다운로드해야합니다. https://www.Java.com/en/download/manual.jsp

그런 다음 xlsx 패키지를 다시로드하십시오. R을 다시 시작할 필요는 없습니다.

104
Gianluca

비슷한 효과가 있었지만 Java_HOME을 설정하는 것이 좋습니다. 나는 R에서 먼저 피곤했다.

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

실제로 작동했을 때 새로운 시스템 변수를 추가하여 시스템 속성-> 고급-> 환경 변수에서 설정했습니다. 그런 다음 R/RStudio를 다시 시작하고 모든 것이 작동했습니다.

8
Lauren Fitch

컴퓨터에 Java 버전 (32 비트/64 비트) 중 하나가 누락 되었기 때문입니다. 두 Jdk를 모두 설치하고 코드를 실행하십시오.
Jdks를 설치 한 후 R을 열고 코드를 입력하십시오.

system("Java -version")

그러면 설치된 Jdk 버전이 제공됩니다. 그런 다음 rJava 패키지를로드하십시오. 이것은 나를 위해 일했습니다.

6
Edwin Vivek N

RStudio에서이 오류가 발생하면 위의 Lauren 환경 코드를 사용하고 Tools, Global Options에서 R 버전을 32 비트 버전으로 변경하십시오. 최신 버전을 사용하는 경우 32 비트 및 64 비트 R 옵션이 모두 있어야합니다. R을 다시 시작해야하며 메모리 옵션이 제한됩니다. 그러나 64 비트 버전의 jre를 설치할 필요는 없습니다.

3
Odysseus Ithaca

나는 비슷한 문제가 있었다. 종속 패키지 'rJava'로 인해 발생합니다. 다른 Java_HOME를 사용하도록 R을 재 지정하면이 문제를 해결할 수 있습니다.

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

이것은 나를 위해 일했습니다.

2

link 의 답변으로 문제가 해결되었습니다.

해결하기 전에 Windows 환경에 Java_HOME을 추가하여 시도했습니다. 이 오류는 해결되었지만 다른 문제가 발생했습니다. 위 링크의 솔루션은 추가 문제를 만들지 않고이 문제를 해결합니다.

1
Orhan Celik

나는 같은 문제가 있었으므로 해결책을 찾았다 고 생각합니다!

내 수정은 32 비트 및 64 비트 JRE (Java Runtime Environment) 버전 8 업데이트 181을 설치하는 것이 었습니다.

0
Tamas

MacOS 에서이 문제가있는 경우 여기에 쉬운 방법이 없습니다. (특히 R3.4를 사용하려는 경우 이미 있습니다.)

R 3.4, rJava, macOS 및 더 많은 혼란;)

R3.3의 경우 조금 더 쉽지 않습니다 (R3.3은 다른 컴파일러를 사용하여 컴파일되었습니다).

R, Java, rJava 및 macOS 모험

0
Oo.oO

사용할 수있는 대체 패키지는 readxl입니다. 이 패키지에는 외부 종속성이 필요하지 않습니다.

0
Cristóbal Alcázar