ラベル rJava の投稿を表示しています。 すべての投稿を表示
ラベル rJava の投稿を表示しています。 すべての投稿を表示

2015年1月19日月曜日

rJavaを用いたヒストグラム画像生成と,その画像によるパラパラ漫画

前回の「Rの作図によるパラパラ漫画」用のクラス(RBase)を用意して,それの拡張(RSample)で実行する形にしてみた.
実行のためのパラメータ類についてはrJavaを用いてJavaからRを動かしたPostと同様にR_HOME等を設定する.
(ファイルにPNG画像を書き出して読み込んで描画するを繰り返すので注意)



結果

2015年1月18日日曜日

math/R・rJavaでのPlot画像をJavaのPanelに貼り付ける

rJavaを用いてJavaからRを動かしたPostのRSampleと入れ替えてみる.
(ファイルにPNG画像を書き出して読み込んで描画するを繰り返すので注意)


結果

2015年1月11日日曜日

math/RでPlotをrJava経由でやってみる(SVG)

rJavaを用いてJavaからRを動かしたPostのRSampleと入れ替えてみる.


結果

<html><body>

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d="M 0.390625 0 L 0.390625 -8.609375 L 7.21875 -8.609375 L 7.21875 0 Z M 6.140625 -1.078125 L 6.140625 -7.53125 L 1.46875 -7.53125 L 1.46875 -1.078125 Z M 6.140625 -1.078125 "/>
</symbol>
…
<path style="fill:none;stroke-width:0.075;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(74.509804%,74.509804%,74.509804%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039062 416.800781 L 473.761719 416.800781 "/>
</g>
</g>
</svg>

</body></html>


参考

math/RでPlotをrJava経由でやってみる

rJavaを用いてJavaからRを動かしたPostのRSampleと入れ替えてみる.


結果

<html><body><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAYAAAB91L6VAAAD8GlDQ1BJQ0MgUHJvZmlsZQA
…
IgAALGEUADbJzLUGAQAAEQAIEoEEADHAUvog4gAAIgAALGEfj/xnxImx+sxQYAAAAASUVORK5CYII="></body></html>


参考

2015年1月10日土曜日

math/Rで度数分布表をrJava経由でやってみる

前々回のRSampleと入れ替えてみる.


結果

R_HOME:/usr/local/Cellar/r/3.1.2/R.framework/Versions/3.1/Resources
java.library.path:.:/usr/local/Cellar/r/3.1.2/R.framework/Versions/3.1/Resources/library/rJava/jri
label=[0,6) freq=0.0 ratio=0.0
label=[6,12) freq=19.0 ratio=1.9E-4
label=[12,18) freq=1394.0 ratio=0.01394
label=[18,24) freq=12456.0 ratio=0.12456
label=[24,30) freq=36287.0 ratio=0.36287
label=[30,36) freq=35818.0 ratio=0.35818
label=[36,42) freq=12658.0 ratio=0.12658
label=[42,48) freq=1340.0 ratio=0.0134
label=[48,54) freq=28.0 ratio=2.8E-4
label=[54,60) freq=0.0 ratio=0.0
sigma1=0.72105
sigma2=0.97219
sigma3=0.99953

参考

math/Rでの関数モデルの当てはめをrJava経由でやってみる

前回のRSampleと入れ替えて,データファイル(dist.dat)を用意してみる.

src/rJava/RSample.java


dist.dat
0,22
1,25
2,28
3,19
4,20
5,18
6,18
7,12
8,15
9,11
10,22
11,16
12,19
13,22
14,18
15,10
16,16
17,11
18,11
19,11
20,10
21,15
22,12
23,10
24,10
25,11
26,12
27,10
28,7
29,8
30,10
31,11
32,9
33,6
34,9
35,10
36,11
37,6
38,5
39,6
40,8
41,10
42,15
43,7
44,5
45,3
46,4
47,2
48,5
49,9
50,3
51,7
52,6
53,5
54,5
55,1
56,7
57,5
58,5
59,4
60,3
61,2
62,2
63,7
64,4
65,4
66,9
67,5
68,7
69,6
70,6
71,2
72,2
73,2
74,3
75,2
76,1
77,2
78,4
79,1
80,3
81,1
82,3
83,3
84,4
85,2
86,4
87,6
88,0
89,7
90,3
91,3
92,3
93,2
94,8
95,0
96,0
97,2
98,3
99,3
100,4
101,5
102,1
103,3
104,3
105,1
106,3
107,3
108,0
109,3
110,4
111,1
112,2
113,0
114,3
115,2
116,0
117,2
118,2
119,0
120,1
121,1
122,2
123,1
124,2
125,2
126,3
127,3
128,0
129,1
130,3
131,1
132,4
133,2
134,0
135,1
136,1
137,1
138,2
139,1
140,1
141,0
142,2
143,0
144,0
145,0
146,2
147,0
148,0
149,0
150,2
151,0
152,0
153,0
154,0
155,4
156,1
157,0
158,0
159,1
160,1
161,1
162,1
163,0
164,0
165,0
166,1
167,1
168,1
169,1
170,1
171,0
172,0
173,0
174,0
175,1
176,0
177,0
178,0
179,0
180,0
181,2
182,1
183,0
184,1
185,2
186,0
187,0
188,0
189,0
190,0
191,0
192,1
193,2
194,0
195,0
196,1
197,0
198,0
199,0
200,1
201,0
202,0
203,1
204,1
205,0
206,0
207,0
208,1
209,0
210,0
211,0
212,1
213,0
214,0
215,1
216,0
217,0
218,0
219,0
220,0
221,1
222,0
223,0
224,0
225,0
226,0
227,0
228,0
229,0
230,0
231,0
232,0
233,0
234,0
235,0
236,0
237,0
238,0
239,0
240,0
241,0
242,0
243,0
244,0
245,0
246,0
247,1
248,1
249,1
250,0
251,0
252,0
253,0
254,0
255,0
256,0
257,0
258,0
259,0
260,0
261,0
262,0
263,0
264,0
265,0
266,0
267,0
268,0
269,0
270,0
271,0
272,0
273,0
274,0
275,0
276,0
277,0
278,0
279,0
280,0
281,0
282,0
283,0
284,0
285,0
286,0
287,0
288,0
289,0
290,0
291,0
292,0
293,0
294,0
295,0
296,0
297,0
298,0
299,0
300,0
301,0
302,0
303,0
304,0
305,0
306,0
307,0
308,0
309,0
310,0
311,0
312,0
313,0
314,0
315,0
316,0
317,0
318,0
319,0
320,0
321,1
322,0
323,0
324,0
325,0
326,1

結果

R_HOME:/usr/local/Cellar/r/3.1.2/R.framework/Versions/3.1/Resources
java.library.path:.:/usr/local/Cellar/r/3.1.2/R.framework/Versions/3.1/Resources/library/rJava/jri
a*x+b: a=-0.03550333158708252, b=8.498046248230285  (AIC 1712.5095155708004)
a*x^b: a=39.75900134122691, b=-0.5633965054825036  (AIC 1550.0470141120295)
a*b^x: a=21.2572188567732, b=0.9751177432706232  (AIC 1240.9971794263668)

参考

math/R 3.1.2 をJava 1.8.0_25 から使う (MacOSX 10.10.1 + Homebrew 0.9.5 + Eclipse 4.4.1)

  • Homebrew/r-command
    • $ brew tap homebrew/science
    • $ brew install r
    • $ R CMD javareconf JAVA_CPPFLAGS="-I/System/Library/Frameworks/JavaVM.framework/Headers -I/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk"
  • Eclipse
    • Java Projectを作る
    • BuildPathに追加する
      • /usr/local/Cellar/r/3.1.2/R.framework/Versions/3.1/Resources/library/rJava/jri/JRI.jar
    • コードを追加する
      • src/rJava/RSample.java

    • 一度RSampleをJavaApplicationとして実行してしまって,JavaApplicationの実行パネルを作ってしまう
    • RunConfigureから上記で作成されたJavaApplicationのConfigureを選択し,以下を追加する
      • Argumentsタブ > "VM arguments:"
        • -Djava.library.path=.:/usr/local/Cellar/r/3.1.2/R.framework/Versions/3.1/Resources/library/rJava/jri
      • Environmentタブ > "Environment variables to set:"
        • Variable:
          R_HOME
        • Value:
          /usr/local/Cellar/r/3.1.2/R.framework/Versions/3.1/Resources
    • 再度RSampleを実行.

参考

2009年10月6日火曜日

math/R をJavaから使う2

追記(2015/2/18): 新しいの書いた.math/R 3.1.2 をJava 1.8.0_25 から使う (MacOSX 10.10.1 + Homebrew 0.9.5 + Eclipse 4.4.1)



JRIがrJavaに含まれて以下のようになっていたのでメモ.
0.'sudo port install r' でインストール(MacPorts 1.8.1)
1.Rで'install.packages("rJava") 'でインストール.
→ ${HOME}/R/i386-apple-darwin10.0.0-library/2.9/rJava ができる.
(1回目で失敗してただ2回目を実行したらうまくいったんだけどなんで?)
2.あとは前回と同じ.
2.1 (rJavaのjriフォルダにある)JRI.jarをCLASSPATHに追加
2.2 実行時のjava.library.pathに(rJavaのjriフォルダにある)libjri.jnilibに設定
2.3 環境変数R_HOMEに/opt/local/lib/Rを設定
2.4 (LD_LIBRARY_PATHの設定いらないみたい)
3.Rengineのコンストラクタの第一変数に"--save"or"--no-save"等は必要らしい
3.1 'new Rengine(new String[]{"--no-save"}, false, new TextConsole());'とかかしらね

そんな感じ.

2008年6月30日月曜日

math/R をJava(Eclipse)から使う

追記(2015/2/18): 新しいの書いた.math/R 3.1.2 をJava 1.8.0_25 から使う (MacOSX 10.10.1 + Homebrew 0.9.5 + Eclipse 4.4.1)

追記(2009/10/6): rJavaに含まれたそうで,そのメモ.



RをJavaから使うのに色々あるみたいなんですがまぁ流れ流れてJRIに行き着きました.
でやり方メモ.

環境
・MacOS X 10.5.3 / Java 1.5.0_13
・Eclipse 3.2.2
(・R 2.7.0)
(・JRI 0.4-1)

0.Rを入れる.
> sudo port install R

2.7.0が入った.

1.JRIをdownload, configure, make, テスト
・JRIをdownloadして展開 (0.4-1)
・configureとmakeとテスト
> ./configure
> make
> ./run rtest
> ./run rtest2


2.必要なモノとコト
モノ
・src/JRI.jar
・src/libjri.jnilib
コト
・R_HOME=/opt/local/lib/R という環境設定
・LD_LIBRARY_PATH=${R_HOME}/bin:${R_HOME}/lib という環境設定
・既にLD_LIBRARY_PATHがあればLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${R_HOME}/bin:${R_HOME}/lib
・Java実行時にjava.library.pathをlibjri.jnilibへ向けての設定.
・Javaコンパイル,実行時にclasspathにJRI.jarを含める設定.

3.試す.
3.1プロジェクトを作成
lib/JRI.jar, lib/libjri.jnilibを設置,lib/JRI.jarはプロジェクトに含めておく(説明を省きます).

3.2コード
Sample_Rクラスをつくってmainを書く.とりあえず動作させるだけなのでこんな感じ.
import org.rosuda.JRI.Rengine;

public class Sample_R {
 public static void main(String[] args) {
  if (!Rengine.versionCheck()) {
   System.err
     .println("** Version mismatch - Java files don't match library version.");
   System.exit(1);
  }
  Rengine re = new Rengine(new String[]{"--no-save"}, false, null);
  if (!re.waitForR()) {
   System.out.println("Cannot load R");
   return;
  }
  System.out.println(re.eval("sqrt(36)"));
  re.end();
 }
}


3.3実行環境の設定
・メニューバー Run/Open Run Dialog...を選択
・Sample_Rに関するものを選択,まずはArguments
VM argumentsとして'-Djava.library.path=./lib'を設定

・次にEnvironment
環境変数としてR_HOMEとLD_LIBRARY_PATHを設定する.LD_LIBRARY_PATHで同時に設定したR_HOMEが参照できなかった…のでとりあえず全部入力した.R_HOME=/opt/local/lib/R, LD_LIBRARY_PATH=/opt/local/lib/R/bin:/opt/local/lib/R/lib


4で実行.
[REAL* (6.0)]


とりあえず動いたけど.合ってるかしら?間違いがあればご指摘いただければ幸いです.