rJavaプログラミングの続き(http://mizunolab.sist.ac.jp/2016/01/rjava-1.html)です。
参考:http://se.cite.ehime-u.ac.jp/wiki/index.php?R_rJava
Rで計算させたものをJavaでどう利用するかということですが、参考ページの下記のソースを試してみます。
import org.rosuda.JRI.REXP;
import org.rosuda.JRI.Rengine;
public class JRITest02 {
public static void main(String[] args)
{
Rengine re = new Rengine( new String[]{"--no-save"}, false, null );
REXP x = re.eval("sample(10,5)");
System.out.println(x);
int[] ary = x.asIntArray();
for (int i = 0; i < ary.length; i++) {
System.out.println(ary[i]);
}
re.end();
}
}
「Rengine インスタンスに対して eval メソッドを呼び出すと REXP クラスのインスタンスが戻り値として得られる.」とあります。
REXP x = re.eval("sample(10,5)");
REXPクラスの説明が、http://rforge.net/org/doc/org/rosuda/JRclient/REXP.html
にあります。今回はint[] ary = x.asIntArray();とasIntArray()関数を使っていますが、他にも色々あるようです。
何となくわかったので、次はRの基本コマンドをevalで発行して、結果を取得してみたい。
0 件のコメント:
コメントを投稿