Java プログラムからの入力を使用して、R でいくつかの簡単な計算を行い、その Java プログラムに応答を取得することは可能ですか?
Java と R 間のこのデータ交換の典型的な例は、数値の配列 (Javadouble[]
配列など) の確率分布関数 (PDF) の計算です。
Java クラス内から、Java/R インターフェイス (JRI) を介して配列を R に渡す必要があり、計算の結果は (JRI が JFrame で行うように) グラフィック プロットではなく、値の別の配列 (または同様の Java データ構造) を、同じ Java クラスから取得してさらに処理できるようにします。
JRI 割り当て部分は次のようになります。
Rengine re=new Rengine(new String [] {"--vanilla"}, false, null);
if (!re.waitForR())
{
System.out.println ("Cannot load R");
return;
}
double[] values = ... // The data values
re.assign("data", values);
したがって、問題は、data
上記の配列が、R によってグラフィカルにプロットされるのではなく、呼び出し元の Java クラスに返された結果を使用して、既に説明したように (たとえば、PDF の場合) R で処理できるかどうかです。
それは可能ですか?もしそうなら、それを示すサンプルコードはありますか?