Kiedy piszę require(xlsx)
, aby załadować paczkę xlsx
w R, pojawiają się następujące komunikaty:
> 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’
Próbowałem też rJava
ręcznie załadować pakiet, ale otrzymałem ten komunikat o błędzie:
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.
Czy masz jakieś sugestie, jak rozwiązać problem?
rJava
... Przeczytaj toreadxl
pakietu Hadley Wickham . Więcej dyskusji na ten temat tutaj - nie można zainstalować bibliotekixlsx w r i szukać alternatywyOdpowiedzi:
Przyczyna jest prawdopodobnie związana z faktem, że używasz 64-bitowej wersji systemu operacyjnego i R, ale nie masz zainstalowanej Javy z tą samą architekturą. Musisz pobrać 64-bitową Javę z tej strony: https://www.java.com/en/download/manual.jsp
Następnie spróbuj ponownie załadować
xlsx
pakiet. Nie powinieneś ponownie uruchamiać R.źródło
java -d64 version
. Jeśli masz działającą 64-bitową Javę, może to być problem ze ścieżką systemową.java -d64 -version
?Dzieje się tak, ponieważ na komputerze brakuje jednej z wersji Java (32-bitowej / 64-bitowej). Spróbuj zainstalować oba Jdks i uruchom kod.
Po zainstalowaniu Jdks otwórz R i wpisz kod
system("java -version")
To da ci zainstalowaną wersję Jdk. Następnie spróbuj załadować pakiet rJava. To zadziałało dla mnie.
źródło
Miałem podobny problem, który działał u mnie, to ustawienie JAVA_HOME. Najpierw zmęczyłem się w R:
Sys.setenv(JAVA_HOME = "C:/Program Files/Java/jdk1.8.0_101/")
A kiedy to faktycznie zadziałało, ustawiłem go we Właściwościach systemu -> Zaawansowane -> Zmienne środowiskowe, dodając nową zmienną systemową. Następnie ponownie uruchomiłem R / RStudio i wszystko działało.
źródło
Miałem podobny problem. Jest to spowodowane zależnym pakietem „rJava”. Ten problem można rozwiązać, przekierowując R, aby używał innego
JAVA_HOME
.if(Sys.getenv("JAVA_HOME")!=""){ Sys.setenv(JAVA_HOME="") } library(rJava)
To zadziałało dla mnie.
źródło
Jeśli masz ten błąd w RStudio, użyj powyższego kodu środowiskowego Lauren i zmień wersję R na wersję 32-bitową w Narzędziach, Opcje globalne. Jeśli masz nowszą wersję, powinny być dostępne zarówno opcje 32-bitowe, jak i 64-bitowe R. Będzie to wymagało ponownego uruchomienia R i ograniczy opcje pamięci. Instalacja 64-bitowej wersji jre nie będzie jednak wymagana.
źródło
Alternatywnym pakietem, którego możesz użyć, jest readxl . Ten pakiet nie wymaga zewnętrznych zależności.
źródło
Myślę, że znalazłem rozwiązanie, ponieważ miałem ten sam problem!
Moja poprawka polegała na zainstalowaniu zarówno 32-bitowego, jak i 64-bitowego środowiska JRE (Java Runtime Environment) w wersji 8 z aktualizacją 181 (potrzebuję wersji 32-bitowej dla innej aplikacji, ale twoja poprawka może po prostu ponownie zainstalować 64-bitową samodzielnie).
źródło
Odpowiedź w linku rozwiązała mój problem.
Przed rozwiązaniem próbowałem, dodając JAVA_HOME do środowisk Windows. Rozwiązał ten błąd, ale stworzył inny problem. Rozwiązanie w powyższym linku rozwiązuje ten problem bez tworzenia dodatkowych problemów.
źródło
Jeśli masz ten problem z macOS, nie ma tutaj łatwej drogi :( Szczególnie jeśli chcesz użyć R3.4. Byłem tam już;)
R 3.4, rJava, macOS i jeszcze więcej bałaganu;)
W przypadku wersji R3.3 nie jest to ani trochę łatwiejsze (R3.3 został skompilowany przy użyciu innego kompilatora).
Przygody w językach R, Java, rJava i macOS
źródło