加载ReporteRs包时rJava导致的错误

Error caused by rJava when loading ReporteRs package

我在 R 中加载 ReporteRs 时遇到问题。我收到以下消息:

Loading required package: ReporteRsjars
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.
Error: package ‘ReporteRsjars’ could not be loaded

我安装了 Java 版本“1.8.0_25”、rJavaggplot2ReporteRsjars

以下是一系列可能的解决方案供您探索:

安装最新的 rJava 版本。 早期版本可能无法使用!镜像不是最新的,因此请转到 www.rforge.net: http://www.rforge.net/rJava/files/ 的源代码。注意那里的建议 “请使用 install.packages('rJava',,'http://www.rforge.net/') 进行安装。”

这几乎是正确的。这实际上有效: install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/') 注意标点符号!神秘的 “.libPaths()[1],” 只是告诉 R 在主库目录中安装包。出于某种原因,将值留空是行不通的,即使它应该是默认值。

告诉 R 更新的 java 版本 如果您刚刚更改了 java 版本,请通过终端 运行ning R CMD javareconf 让 R 知道这一点。

将 jvm.dll 添加到您的 PATH 并将其放在正确的目录中 rJava,R<->Java 桥,需要 jvm.dll,但 R 很难找到它。它驻留在像这样的文件夹中 C:\程序Files\Java\jdk1.6.0_25\jre\bin\server 要么 C:\程序 Files\Java\jre6\jre\bin\client 无论你在哪里,将该目录添加到你的 windows PATH 变量。 (Windows -> "Path" -> "Edit environment variables to for your account" -> PATH -> 编辑值。)

您的 PATH 中可能已经有 Java。如果是这样,您应该在与您的 PATH 中已有的 Java "home" 目录相同的目录中找到 client/server 目录。

rJava 似乎在 ~\Java\jre6\bin\client 中搜索 jvm.dll。但是我的系统上不存在这个文件夹(jvm.dll 在 ~\bin\server 中)。因此,一种解决方法是在文件夹 ~\bin\client\ 中复制 jvm.dll 并将其添加到路径中。

定义R查找的路径java 选项(java.home="C:/Program Files/Java/jre7/") 适当改一下

确保您的架构匹配。 如果 Program Files 中有 Java,则它是 64 位的,因此您应该 运行 R64。如果您在 Program Files (x86) 中有 Java,那是 32 位的,所以您使用普通的 32 位 R。

从 Windows 菜单重新启动 R 如果 R 为 运行ning,则退出。 从开始菜单,启动 R / RGUI,RStudio。这非常重要,让 R 获取您的 PATH 更改。