2

我正在尝试导入 R 包 'forecast; 在netbeans 中使用它的功能。我已经成功地建立了 JRI 连接并导入了 javaGD 库并对其进行了试验并取得了一定的成功。关于预测包的问题是我找不到相应的 JAR 文件,因此将它们作为库包含在我的项目中。我正在正常加载它:re.eval(library(forecast)),但是当我实现库的一个函数时,返回一个空值。虽然我很确定代码是正确的,但我还是发布它以防万一。

tnx 提前

      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);
4

1 回答 1

1

您没有将值从 R 转换为 java,您应该首先在 R 中创建一个 auto.arima 输出的数值向量,然后使用方法 .asDoubleArray() 将其读入 java。

我在 [这里]如何将附加 R 库加载到 JRI 并从 Java 执行中给出了一个完整的示例?,这准确地显示了如何使用 JRI 在 Java 中使用 auto.arima 函数。

于 2014-03-20T13:38:42.807 回答