rJavaでグラフを書いてみた。テストのため乱数を発生させてやってみる。
ちなみに乱数を発生させる方法は、rxxx(n) nは乱数の個数となる。xxxには正規分布ならnormとなり、rnorm(100)だと正規乱数100個生成される。
他の乱数発生は、http://cse.naro.affrc.go.jp/takezawa/r-tips/r/60.html を参照
まずRでやってみる。
$ R
> c <- br="" rnorm="">> summary(c)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-3.22800 -0.73340 -0.02118 -0.04163 0.64810 3.35600
> png("hist01.png", 640, 480)
> hist(c)
> dev.off()
> q()->
カレントディレクトリにhist01.pngが生成されるので、FTPで接続しダウンロードして確認する。
これをrJavaでやってみる。
$ vi JRITest06.java
import org.rosuda.JRI.REXP;
import org.rosuda.JRI.Rengine;
public class JRITest06 {
public static void main(String[] args)
{
Rengine re = new Rengine( new String[]{"--no-save"}, false, null );
re.eval("c<-rnorm br=""> REXP x = re.eval("summary(c)");
System.out.println(x);
double [] ary = x.asDoubleArray();
for (int i = 0; i < ary.length; i++) {
System.out.println(ary[i]);
}
re.eval("png('hist02.png', 640, 480)");
re.eval("hist(c)");
re.eval("dev.off()");
re.end();
}
}
-rnorm>
[notss_analysis@ip-10-0-0-217 rjava]$ vi JRITest06.java
[notss_analysis@ip-10-0-0-217 rjava]$ javac JRITest06.java
[notss_analysis@ip-10-0-0-217 rjava]$ java -Djava.library.path=/usr/lib64/R/library/rJava/jri/ JRITest06
[REAL* (-3.322, -0.6323, 0.01249, 0.02881, 0.6197, 4.142)]
-3.322
-0.6323
0.01249
0.02881
0.6197
4.142
FTPで接続してみると、カレントディレクトリにhist02.pngがある。ダウンロードして表示すると同じようにグラフができている。
rJavaでグラフが描けるようになった。次はデータベースから持ってきたデータに対し、グラフを描いてみる。
参考
http://stat.biopapyrus.net/graph/imagedevice.html
http://stat.biopapyrus.net/graph/hist.html
0 件のコメント:
コメントを投稿