【问题标题】:import R forecast library JAR files into java将R预测库JAR文件导入java
【发布时间】:2012-04-14 18:24:57
【问题描述】:

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

【问题讨论】:

  • 这是我得到的输出:rengine created, waiting for R! [VECTOR ([REAL* (8.81, 8.805, ... (140 more values follow))])] 这是时间序列对象:[REAL* (8.81, 8.805, 8.77, 8.78, 8.78, , 9.375, 9.525, 9.15 , 9.19, 9.12, 9.05, 9.02, 9.075, 9.08, 9.145, ...(后面还有 140 个值))] 这是预测输出值:null ????这是问题
  • 预测的参数是否应该是 h=20 而不是 n=20?

标签: r forecasting


【解决方案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 函数。

【讨论】:

    猜你喜欢
    • 2012-07-01
    • 2019-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 2019-12-28
    相关资源
    最近更新 更多