我正在尝试导入R包'预测;在netbeans中使用它的功能。我已经设法建立了JRI连接,并且还导入了javaGD库并进行了实验,取得了一定的成功。关于预测包的问题是我找不到相应的JAR文件,所以要将它们作为库包含在我的项目中。我正常加载它:re.eval(library(forecast)),但是当我实现一个库的函数时,返回一个null值。虽然我很确定代码是正确的,但我发布它是为了以防万一。
提前预订
Rengine re = new Rengine(Rargs, false, null);
System.out.println("rengine created, waiting for R!");
if(!re.waitForR())
{
System.out.println("cannot load R");
return;
}
re.eval("library(forecast)");
re.eval("library(tseries)");
re.eval("myData <- read.csv('C:/.../I-35E-NB_1.csv', header=F, dec='.', sep=',')");
System.out.println(re.eval("myData"));
re.eval("timeSeries <- ts(myData,start=1,frequency=24)");
System.out.println("this is time series object : " + re.eval("timeSeries"));
re.eval("fitModel <- auto.arima(timeSeries)");
REXP fc = re.eval("forecast(fitModel, n=20)");
System.out.println("this is the forecast output values: " + fc);
答案 0 :(得分:1)
您没有将值从R转换为java,您应首先在R中创建auto.arima输出的数值向量,然后使用方法.asDoubleArray()将其读入java。
我在[here] How I can load add-on R libraries into JRI and execute from Java?中给出了一个完整的示例,它显示了如何使用JRI在Java中使用auto.arima函数。