Location : Home > Languages > Perl > Package
Title : Statistics::R
Toolbox Logo

名称

 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 本体と同等の条件で修正/再配布してもよい。

Toolbox Logo
Updated : 2007/06/14