2

JavaからR言語/Rスクリプトを呼び出すにはどうすればよいですか? 基本的に、Rスクリプトの周りにJavaのようなラッパーが必要です。

  1. データは Java レイヤーに渡され、setData(double[]) メソッドと呼ばれ、R スクリプトに送信されます。setDataR(double []) メソッドとしましょう。

  2. Rスクリプトは、メソッドdouble [] computeR()を呼び出すなど、いくつかの計算を実行します。

  3. Java プログラムは double[] getData() を呼び出して計算結果を取得し、次に R スクリプトに委譲して計算データを取得します。

これは、JRI、Rserv、Rcaller でどのように実行できますか? Rscript メソッドを呼び出す方法がわかりません。サンプルを送ってください。JNI (Java、C++) の呼び出しに似ている必要があります。

  1. jvm内では、複数のスレッドがRスクリプト呼び出しを正しく呼び出すことができないと思いますか? 回避策はありますか?

ありがとう

4

2 に答える 2

0

JavaからRを使用する最も簡単な方法は、を使用しRuntime.exec("")、応答を取得して解析することです。ネイティブ命令を実行する方法の典型的な例は次のとおりです。

Process p = Runtime.getRuntime().exec("ls");
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));

ここから、にバッファリングされている標準出力に出力された結果を読み取って処理できますstdInput

于 2013-03-22T18:31:04.843 に答える