java通過JRI呼叫R自定義指令碼
阿新 • • 發佈:2019-01-11
自定義R指令碼作為資料引擎,用java執行:
package rJava;
//import org.rosuda.JRI.REXP;
import org.rosuda.JRI.Rengine;
public class DemoRJava {
public static void main(String[] args) {
callR();
}
static void callR() {
Rengine re = new Rengine(new String[] { "--vanilla" }, false, null);
if (!re.waitForR()) {
System.out.println("無法載入R.");
return;
}
re.eval("source(\"d:/我的文件/桌面/CF.R\")");
System.out.println(re.eval("CF()"));
re.end();
}
}
在java專案中需要載入3個jar包:JRI.jar 、JRIEngine.jar 、 REngine.jar
這三個包可在R的rJava包中找到:C:\Program Files\R\R-3.0.3\library\rJava\jri
且需要在系統環境變數中設定:
(注:根據系統是32位的還是64位的選擇對應的jri.dll)
同時還需要在java專案中設定Run-Run Configurations:
即可執行成功!