Location : Home > Languages > Perl > Package Title : Statistics::R |
![]() |
Statistics::R - R の制御
これは、異なるアーキテクチュアやOSにおいて Perl を通じて R インタプリタを制御する。
たとえば R を1インスタンスだけで始動し、異なる Perl プロセスでアクセスすることができる。
use Statistics::R ; my $R = Statistics::R->new() ; $R->startR ; $R->send(q`postscript("file.ps" , horizontal=FALSE , width=500 , height=500 , pointsize=1)`) ; $R->send(q`plot(c(1, 5, 10), type = "l")`) ; $R->send(qq`x = 123 \n print(x)`) ; my $ret = $R->read ; $R->stopR() ;
NEW
R ブリッジオブジェクト(Statistics::R)を生成する時、以下のオプションを設定できる。
log_dir
R と Perl との間のブリッジが生成されるディレクトリ。R 及び Perl の双方がディレクトリに読み書きのアクセスが可能でなければならない。
デフォルトでは %TMP_DIR%/Statistics-R で生成される。
r_bin
R バイナリへのパス。
デフォルトでは、ユーザのOSにおける R のデフォルトのインストールパスである。
r_dir
R のディレクトリ。
tmp_dir
テンポラリのディレクトリ。
デフォルトではOSが使う/検索したテンポラリディレクトリ。
startR
R とブリッジ通信を開始する。
start_sharedR
R を開始するか既に開始されているブリッジを利用する。
stopR
R 及びブリッジを停止する。
restartR
R を停止し開始する。
Rbin
R バイナリ(実行ファイル)へのパスを返す。
send ($CMD)
R 内部で実行されるコマンドを送信する。$CMD は R に source() によってロードされることに注意。
read ($TIMEOUT)
R に send() によって送信されたコマンドの最後のグループに対する出力を読みこむ。
lock
PID に対するブリッジをロックする。
unlock
PID に対してロックされていればブリッジのロックを解除する。
is_blocked
PID に対してブリッジがブロックされていれば TRUE を返す。すなわち他のプロセスがブリッジをロックしていれば TRUE を返す。
is_started
R インタプリタが開始されたか、すでに開始している場合 TRUE を返す。
clean_up
環境を整理し、全てのオブジェクトを削除する。
error
最後のエラーメッセージを返す。
本パッケージをインストールするためには、まずユーザの環境に R ヲをインストールし、Statistics::R が R ヘのパスを探す。
R on Win32 及び Linux への R の標準的なインストールは自動的に Statistics::R で検出される。
R のダウンロード:http://cran.r-project.org/banner.shtml
または R のウェブサイト:http://www.r-project.org/
Statistics::R の主な目的は、複数の Perl プロセスから単一の R インタプリタを利用することである。R 及び Perl は同一のユーザ/グループで実行されていることが必要であることに注意すること。
Statistics::R ブリッジを開始するにはスクリプト statistics-r.pl を開始する必要がある。
$> statistics-r.pl start
ユーザのスクリプトからでは start_sharedR() オプションを用いる必要がある。
use Statistics::R ; my $R = Statistics::R->new() ; $R->start_sharedR ; $R->send('x = 123') ; exit;
上記の例ではメソッド stopR() は呼び出されておらず、ブリッジを停止している。
Statistics::R::Bridge
R プロジェクトサイト:http://www.r-project.org/
Statistics:: モジュール:http://search.cpan.org/search?query=Statistics&mode=module
Graciliano M. P. <gm@virtuasites.com.br>
私はどんなタイプのフィードバック(意見及び/または示唆でもよい)も歓迎する。 ;-P
本プログラムはフリーソフトウェアであり、Perl 本体と同等の条件で修正/再配布してもよい。
![]() |
Updated : 2007/06/14 |