【发布时间】:2015-11-11 17:12:04
【问题描述】:
我正在尝试在 R 中使用 XLConnect 库。如果我执行
library(XLConnect)
我收到以下错误消息:
JAVA_HOME cannot be determined from the Registry
为了解决这个问题,我首先设置了JAVA_HOME 变量:
Sys.setenv(JAVA_HOME='C:/Program Files (x86)/Java/jre1.8.0_65')
library(XLConnect)
看起来它可以帮助我走得更远,但是我遇到了另一个问题:
unable to load shared object 'C:/Program Files/R/R-3.2.2/library/rJava/libs/x64/rJava.dll'
不知道为什么 R 不能加载 rJava.dll。至少这个文件位于 R 搜索它的文件夹中:
C:\Program Files\R\R-3.2.2\library\rJava\libs\x64
添加
请注意rJava.dll 文件存在并且它位于那里,R 正在那里搜索它。我想问题在于 32 位和 64 位版本之间的不兼容。我认为是因为 R 抱怨:
% 1 is not a valid Win32 application
那么,为什么 R 期望它在名称中是 Win32 application`? First, my OS is 64bit, second my Java is also for the 64bit and finally, the `rJava.dll` object is located in the folder withx64`(所以,我假设它也是 64 位版本)。
【问题讨论】:
-
创建并放置它要查找的文件夹?
-
我错过了什么吗?这些路径在我看来是一样的。
-
您确定 java 是适合您的 OS/r 版本(即 32 与 64 位)的正确版本吗? stackoverflow.com/questions/7019912/… 和评论中的其他一些链接 stackoverflow.com/questions/29186040/…
-
我建议改用
readxl。该软件包包括 C 和 C++ 库,使用起来更简单,可能更快。尽快从那里取出 excel 数据,然后在 R 中进行后处理:这就是readxl擅长的。 -
@Roman:你说你有 64bits OS 和 Java 64bits 但是 R 呢?您使用的是 32 位还是 64 位版本?