[r] rJava로 인해 R에서 패키지를로드하려고 할 때 발생하는 문제

R require(xlsx)에서 패키지를로드하기 위해 입력 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.

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



답변

그 이유는 아마도 64 비트 OS 및 R 버전을 사용하고 있지만 동일한 아키텍처로 Java를 설치하지 않았기 때문일 수 있습니다 . 다음 페이지에서 Java 64 비트를 다운로드해야합니다. https://www.java.com/en/download/manual.jsp

그 후에 xlsx패키지 를 다시로드하십시오 . R을 다시 시작할 필요가 없습니다.


답변

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

system("java -version")

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


답변

저에게 효과가 있었던 비슷한 문제가 JAVA_HOME을 설정하는 것입니다. R에서 먼저 피곤했습니다.

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

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


답변

비슷한 문제가있었습니다. 종속 패키지 ‘rJava’로 인해 발생합니다. 이 문제는 R을 다른 JAVA_HOME.

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

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


답변

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


답변

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


답변

같은 문제가 있었기 때문에 해결 방법을 찾은 것 같습니다!

내 수정 사항은 32 비트 및 64 비트 JRE (Java Runtime Environment) 버전 8 업데이트 181을 모두 설치하는 것이 었습니다 (다른 응용 프로그램에는 32 비트가 필요하지만 64 비트를 자체적으로 다시 설치할 수도 있습니다.)