昨天我从系统中删除了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将软件包安装在主库目录中.出于某种原因,将值保留为空白不起作用,即使它应该是默认值.
我终于解决了这个问题:
\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