将R预测库JAR文件导入java

时间:2012-04-14 18:24:57

标签: r forecasting

我正在尝试导入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);

1 个答案:

答案 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函数。