【配置】使用Java調用R語言

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

步驟如下:

一,下載R-3-3-3,並安裝

首先下載,直接在網上搜索R語言官網下載下來的都是一些.tar.gz文件,不知道怎麼弄。不過下面這個網址可以下載exe的文件:

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

安裝很簡單,一直下一步就行,但是中間有一步需要注意,就是要根據自己電腦是32位的還是64位的來選擇軟件的位數,如下所示:


理論上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即可。