Когда я печатаю require(xlsx)
, чтобы загрузить пакет xlsx
в R, отображаются следующие сообщения:
> 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.
Есть ли у вас предложения, как решить проблему?
rJava
... Прочтите этоreadxl
пакета Hadley Wickham . Подробное обсуждение здесь - невозможно установить libraryxlsx в r и искать альтернативуОтветы:
Причина, вероятно, связана с тем, что вы используете 64-битную ОС и версию R, но у вас не установлена Java с той же архитектурой. Что вам нужно сделать, так это загрузить 64-разрядную версию Java с этой страницы: https://www.java.com/en/download/manual.jsp
После этого просто попробуйте перезагрузить
xlsx
пакет. Вам не нужно перезапускать R.источник
java -d64 version
. Если у вас работает 64-битная Java, это может быть проблема с системным путем.java -d64 -version
?Это потому, что на вашем компьютере отсутствует одна из версий Java (32- / 64-разрядная). Попробуйте установить оба Jdks и запустить код.
После установки 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 . Этот пакет не требует внешних зависимостей.
источник
Я думаю, что нашел решение, так как у меня была такая же проблема!
Мое исправление заключалось в установке обновления 181 как 32-битной, так и 64-битной JRE (Java Runtime Environment) версии 8 (мне требуется 32-битная версия для другого приложения, но ваше исправление может быть просто переустановкой 64-битной версии самостоятельно).
источник
Ответ в ссылке решил мою проблему.
Перед разрешением я попытался добавить JAVA_HOME в среду Windows. Он устранил эту ошибку, но создал другую проблему. Решение по приведенной выше ссылке решает эту проблему без создания дополнительных проблем.
источник
Если у вас есть эта проблема с macOS, здесь нет простого пути :( Особенно, когда вы хотите использовать R3.4. Я уже был там;)
R 3.4, rJava, macOS и еще больше бардака;)
Для R3.3 это немного проще (R3.3 скомпилирован с использованием другого компилятора).
Приключения R, Java, rJava и macOS
источник