2

R パッケージ 'forecast; をインポートしようとしています。netbeans でその機能を使用します。私はなんとか JRI 接続を確立し、javaGD ライブラリをインポートして、一定の成功を収めて実験しました。予測パッケージに関する問題は、対応する JAR ファイルが見つからないため、プロジェクトにライブラリとして含めることができないことです。通常どおりロードしています: re.eval(library(forecast)) ですが、ライブラリの関数の 1 つを実装すると、null 値が返されます。コードが正しいと確信していますが、念のため投稿しています。

事前にt​​nx

      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 に読み込む必要があります。

[こちら] How I can load add-on R libraries into JRI and execute from Java?で完全な例を示しました。、JRIを使用してJavaでauto.arima関数を使用する方法を正確に示しています。

于 2014-03-20T13:38:42.807 に答える