我安装了iplots和rjava包。当我执行这个库(Iplots)时,我得到以下错误。我的pc上确实安装了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’
发布于 2012-02-03 06:05:54
该错误告诉您,您的注册表中没有告诉R Java在您机器上的位置的条目。您的注册表可能已损坏,但更有可能的是您尚未安装Java。您可以安装Java Runtime Environment或Java Development Kit。
(You can download Java here.)
如果您安装了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)发布于 2015-12-30 19:13:50
如果你像我一样没有安装64位Java的管理员权限,只需打开32位R,它应该可以在你的64位PC上正常工作,因为问题的一部分似乎是rJava库函数调用嵌入式Java函数/例程,这可能只是为32位接口设计的Excel/Windows,可能太大的任务,在时间上改变一切。
发布于 2016-03-07 20:12:55
在link中的回答解决了我的问题。
在解析之前,我尝试将JAVA_HOME添加到windows环境中。它解决了此错误,但产生了另一个问题。上面链接中的解决方案解决了此问题,而不会产生其他问题。
https://stackoverflow.com/questions/9120270
复制相似问题