【配置】使用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即可。