Подтвердить что ты не робот

Как установить rJava для использования с 64-битным R на 64-битном компьютере под управлением Windows?

Я установил iplots и rjava-пакеты. Когда я делаю эту библиотеку (iplots), я получаю следующую ошибку. У меня есть JDK, установленный на моем компьютере.

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 не может быть загружен

4b9b3361

Ответ 1

Ошибка говорит вам, что в вашем реестре нет записи, которая сообщает R, где Java находится на вашем компьютере. Либо ваш реестр поврежден, но, скорее всего, вы не установили Java. Вы можете установить либо Java Runtime Environment, либо Java Development Kit.

(Здесь вы можете загрузить Java.)

Если вы установили Java, попробуйте переустановить его. Это должно помещать записи обратно в ваш реестр.

Если это не сработает, вы можете сразу посмотреть, где 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. Если это не указано в списке, оно отсутствует в вашем реестре.

Вы также можете вручную установить каталог своего местоположения Java, установив его перед загрузкой библиотеки:

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

Ответ 2

Если у вас нет прав администратора для установки 64-разрядной Java, просто откройте 32-битное R, и оно должно работать нормально на вашем 64-битном ПК, поскольку часть проблемы, похоже, является функцией библиотеки rJava, которая вызывает встроенную Java функций/подпрограмм, которые могут быть разработаны только для 32-битного интерфейса с Excel/Windows и, возможно, слишком большой задачи в то время, чтобы изменить все.

Ответ 3

Ответ в ссылке разрешил мою проблему.

До разрешения я попытался добавить JAVA_HOME в среду Windows. Он разрешил эту ошибку, но создал другую проблему. Решение в этой ссылке разрешает эту проблему, не создавая дополнительных проблем.

Ответ 4

Любой пользователь Linux здесь, запустите команду:

sudo R CMD javareconf

Это обычно нужно запускать после обновления системы Java установки, как предложено здесь

Ответ 5

Я установил Java SDK вместо JRE, который решил проблему