【配置】使用Java调用R语言

时间:2024-05-23 08:27:14

机器配置:64位win7,R-3-3-3;

步骤如下:

一,下载R-3-3-3,并安装

首先下载,直接在网上搜索R语言官网下载下来的都是一些.tar.gz文件,不知道怎么弄。不过下面这个网址可以下载exe的文件:

http://cran.r-project.org/

安装很简单,一直下一步就行,但是中间有一步需要注意,就是要根据自己电脑是32位的还是64位的来选择软件的位数,如下所示:

【配置】使用Java调用R语言

理论上64位的机器兼容32位的软件的,但是在这真的行不通,已经亲测了,所以选择的时候一定要注意!!而且若是32与64都选择的话,电脑默认是32位的。安装的其他步骤就没有什么要注意的了。

二,导包并配置环境变量

安装完成之后,在桌面快捷方式或者安装目录的bin目录里面找到Rgui.exe,进行导包操作。导入rJava包。

非常简单只有一个命令即可:install.packages("rJava");因为是第一次的原因吧,会让选择CRAN镜像站点,选择“China(*)”即可(*的选择看你所在地区)。然后就会自己下载了。不报错就是成功。

跟安装JDK一样,也需要配置环境变量;

首先在系统变量中添加R_HOME:=D:\Program Files\R\R-3.3.3

然后在系统变量的path后面追加:

%R_HOME%\bin;%R_HOME%\bin\x64;%R_HOME%\library\rJava\jri;%R_HOME%\library\rJava\jri\x64

(如果是32位的话,将x64都改为i386)

三,简历Java项目测试

先在eclipse中建立Java项目,并将R-3-3-3下library->rJava->jri文件夹下的JRI.jar、REngine.jar和JRIEngine.jar这三个文件加载到eclipse中。

然后将R-3-3-3下library->rJava->jri->examples下的rtest.java与rtest2.java复制到Java项目中。

运行Rtest进行测试,若不报错就是成功了。

四,测试时报错

在测试报了如下错误:

Cannot find JRI native library!
Please make sure that the JRI native library is in a directory listed in java.library.path.
java.lang.UnsatisfiedLinkError: D:\Program Files\R\R-3.2.3\library\rJava\jri\jri.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
     at java.lang.ClassLoader$NativeLibrary.load(Native Method)
     at java.lang.ClassLoader.loadLibrary1(Unknown Source)

大致意思就是 64位的JVM不能加载32位的 .dll文件;

这时将R-3-3-3下library->rJava->jri->x64文件夹下的jri.dll文件替换掉其父文件夹jri文件夹下的jri.dll即可。