日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 调用r语言包传参数_Java与R语言的配置,调用

發布時間:2023/12/10 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 调用r语言包传参数_Java与R语言的配置,调用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我是最近才接觸到了R語言,所以用起來有很多的問題,之前只是想單純想用java調用到R語言中的一些東西,沒有想到這個事情并不是想象的那么簡單的。好了,閑話不多說,下面我來說說我在運用R的時候遇上的問題吧。

第一步,配置R的環境。

首先,需要下載一個RGUI的東西,這個東西在我的理解上就跟JVM一個樣子,我下載的版本是R 3.1.3(順便說一句,在64位系統下面的32位的RGUI和64位的RGUI都可以使用的,我的電腦系統是64位的)。下載安裝完成,我相信用java的朋友都把java的環境給配置好了,這里我就不講java的配置了。打開系統的環境變量,在CLASSPATH中添加D:\R-3.1.3\library\rJava\jri\;(就是你那個rjava包的路徑),然后在path中添加D:\R-3.1.3\bin\x64;D:\R-3.1.3\library\rJava\jri\x64;(我的系統是64位的,32位的把x64換成i386,但是強調一點你在多少位的JVM中運行R就得把R配置成多少位的,這樣子配置會省很多的事情),然后配置R_HOME:D:\R-3.1.3(安裝的路徑)。這樣子配置就算是把R的東西給配置好了。

第二步,下載rjava的包。

然后,你需要去下載你對應的rjava包,在RGUI中選程序包,選一個隔你最近的一個城市然后把rjava包下載(有時候下載不起,我在后面可以提供R 3.1.3版本的rjava包,這個包的版本不一樣后面在java中一樣的不能調用r)。把下載好的rjava包放在R-3.1.3\library下面(解壓了的文件夾),OK下載好了,位置也放好了,進入下一步。

第三步,在myeclipse中調用R。

先在rjava包jri中找到3個包,JRI.jar,JRIEngnie.jar和REngine.jar,將這3個包放在自己的java工程中導入進去。然后在R-3.1.3\library\rJava\jri\examples中找到rtest.java和rtest2.java這兩個文件,直接復制到自己的java工程中。先說說這兩種連接方式有什么不同,rtest.java是直接把R的console引在了我們的java控制臺中,而rtest2.java是啟動一個R的一個服務,這兩種方式各有優勢,自己進行選擇,我選擇的是rtest.java的方式。說說這里會遇到的問題,第一,可能會出現java.library.path的問題,那是因為沒有找到那個庫,可以在VM中給他指向你的那個庫在vm arguments里添加-Djava.library.path=.../.../lib;第二,可能會出現什么不能在32位系統平臺中運行64位的 .dll ,出現這個錯的時候說明你的配置出問題了,你要去檢查你的這個java程序中配置的java是不是64位的,反正就是要把這兩個的位數對應起來就行了。遇到最多的問題就是這兩個了,然后基本技能跑通這個程序。

第四步,Spring MVC的項目中調用語言

可以說大多數的開發人員最重要的目的就是把這個rjava運用到項目中去。在這個步驟中,我將這個調用的方法寫成了一個工具類,但是我遇見了兩個大的問題,第一個,因為在項目是在tomcat中發布的,所以tomcat在加載的時候沒有找到R的.dll文件,這個問題可以通過System.out.println(System.getProperty("java.library.path"));這句話,找到你用的那個tomcat下面加載文件的目錄,將這個jri.dll放進去,重新運行這個就行了。第二個,是我在寫工具類的時候發生的一個錯誤,我沒有考慮到自己會多次使用到這個工具,從而導致我的電腦啟動了很多個JVM,內存溢出,死機。這個問題,是通過一個單例模式的建立來解決的,我只讓這個Rengine在項目中被實例化一次,這樣子,他就只能被啟動一次,不會導致電腦死機等等。

第五步,調用R的方法

這里調用的方法是rengine.eval("xxxxx"),xxx就是你寫的R語言的代碼。OK,介紹完畢。

最后就是我給大家提供的rjava包和R的安裝包,http://pan.baidu.com/s/1bnynNfp。

總結

以上是生活随笔為你收集整理的java 调用r语言包传参数_Java与R语言的配置,调用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。