加载rJava时遇到问题

EDi*_*EDi 6 r

昨天我从系统中删除了R2.11(Win7,64bit),因为我正在使用R2.13.

从那时起,我收到一条错误消息:

> require(rJava)
Lade nötiges Paket: rJava
Error : .onLoad in loadNamespace() fehlgechlagen, Details:
  Aufruf: rJava
  Fehler: inDL(x, as.logical(local), as.logical(now), ...)
Run Code Online (Sandbox Code Playgroud)

我尝试指定PATH,因为我在互联网上发现它可能与jvm.dll有关:

c:\Rtools\bin;
c:\Rtools\perl\bin;
c:\Rtools\MinGW\bin;
c:\Rtools\MinGW64\bin;
C:\Windows\system32;
%R_HOME%\bin;
C:\Program Files\R\R-2.13.0\bin; 
C:\Program Files\Java\jre6\bin\server
Run Code Online (Sandbox Code Playgroud)

但是我无法解决问题...我也无法从win命令行运行R(只需键入"R"?)

有什么建议?

mis*_*bee 21

以下是有关如何在Windows 7 64位上启动和运行R + rJava的快速建议.有几种可能性,但大多数都有致命的缺陷.这对我有用:

将jvm.dll添加到您的PATH

R < - > Java桥接器rJava将需要jvm.dll,但R将无法找到该DLL.它驻留在像这样的文件夹中

C:\Program Files\Java\jdk1.6.0_25\jre\bin\server
Run Code Online (Sandbox Code Playgroud)

要么

C:\Program Files\Java\jre6\jre\bin\client
Run Code Online (Sandbox Code Playgroud)

无论你在哪里,将该目录添加到你的Windows PATH变量.(Windows - >"路径" - >"为您的帐户编辑环境变量" - >路径 - >编辑值.)

您可能已经在PATH上安装了Java.如果是这样,您应该在与PATH上已有的Java"home"目录中找到客户端/服务器目录.

为了安全起见,请确保您的架构匹配.如果您有Java Program Files,它是64位,所以您应该运行R64.如果你有Java Program Files (x86),那是32位,所以你使用普通的32位R.

从Windows菜单重新启动R.

如果R正在运行,请退出.

从开始菜单,启动R/RGUI,RStudio.这是非常重要的,以使R获取您的PATH更改.

安装rJava 0.9.2.

早期版本不起作用!镜像不是最新的,所以请访问www.rforge.net上的来源:http://www.rforge.net/rJava/files/ .注意那里的建议

“Please use

`install.packages('rJava',,'http://www.rforge.net/')`

to install.”
Run Code Online (Sandbox Code Playgroud)

这几乎是正确的.这实际上有效:

install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')

观看标点符号!神秘的".libPaths()[1],"只是告诉R将软件包安装在主库目录中.出于某种原因,将值保留为空白不起作用,即使它应该是默认值.


EDi*_*EDi 3

我终于解决了这个问题:

\n\n

看来rJava在〜\\Java\\jre6\\bin\\client中搜索jvm.dll。\n但是这个文件夹在我的系统上不存在\xc2\xb4t(jvm.dll在〜\\bin\\server中)。

\n\n

所以我只是在文件夹 ~\\bin\\client\\ 中复制了 jvm.dll 并将其添加到路径中。

\n\n

现在一切正常!

\n