该错误告诉您,注册表中没有条目告诉R您的机器上的Java位于何处。您的注册表已损坏,但更有可能您没有安装Java。您可以安装Java运行时环境或Java开发工具包。
如果您安装了Java,请尝试重新安装。这应该把条目放回你的注册表。
如果这不起作用,您可以开始查看R正在寻找您的注册表项。 rJava用于查找Java的功能在rJava :::。onLoad函数中。在该函数内有一个名为find.java的子函数。我在这里复制内容:
find.java
for (root in c("HLM", "HCU")) for (key in c("Software\\JavaSoft\\Java Runtime Environment",
"Software\\JavaSoft\\Java Development Kit")) {
hive
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)