rubyから統計解析ソフトRを使うためのrrx

[2014.11.09 rrx ver 1.1を掲載しました。]

最終更新日: 2014/01/05

パッケージ: rrx105.zip

当パッケージは rrx ver 1.05 です。ver 1.04からの修正点については、後の方に掲げてあります。
パッケージは 2013.12.11 にアップロード。2014.01.05 は 対応分析の例・その1対応分析の例・その2を掲載。


 rubyから統計解析ソフトRを利用するためのruby用ライブラリ rrx を作りました。

 MS-Windows用のrrxwin.rbの他に、linuxなどで使えるrrx.rbもあります。ただし、後者にはクリップボードを扱う機能がありません。

 ruby 1.8.7 | 1.9.3 | 2.0.0, R 2.15.3 で動作確認しました。

    

 統計解析ソフトRは、高機能で統計解析のためのいろいろな仕組みを装備しています。

 また、Rにはプログラミング言語として様々な仕組みがあり、それに熟達している人にとっては、Rだけで処理できることが大半だろうと思います。

 ただ、私は ruby を愛用しており、それと連携させてRを使いたいと考えました。

 rubyを経由することで、例えば、RとExcelの間のデータのやりとりが容易になります。sqliteなど様々なデータベースに蓄積されたデータをRで解析するのも容易になります。

    

 rubyからRを利用する強力なライブラリとして rsruby がありますが、もう少し手軽に使えるものとして rrx を作ったのでアップしました。

 1つのcsvファイルから複数の行列を切り取るためのメソッド(矩形選択の自動化)なども用意し、R活用の時の周辺的な便利さを追求したつもりです。

    

 解説ドキュメント rrxwin.txt をWeb上で閲覧したい方はrubyから統計解析ソフトRを使う − rrxwin.rbからどうぞ。

 rrxの各種メソッドの仕様は rrxwin.rb で定義されている各種メソッドをご覧ください。

 rrx ver 1.03|1.04 で付属させた rrxutil.rb については rrxutil.rb および rrx ver 1.03,1.04 の追加機能についてを参照して下さい。

 MS-Windowsの下で、rubyがインストールされていない環境でrrxを使いたい場合は exl.exeの使い方を参照して下さい。

Rによる単純な集計の方法について、下のような解説も掲載しました。よかったら参考にして下さい。

また、rrxの関連で次のような解説も掲載したので、よかったら参考にして下さい。


rrx v1.04 → 1.05 の修正点

webページのテーブルを配列に変換するためのメソッド web2ary() を設けました。Rrxモジュールに入れてあるので Rrx.web2ary(……) として呼び出します。

呼び出しの書式は、「web2ary(url, regex, count)」です。第2・第3引数は省略可能。

各引数の意味は次のとおり。

戻り値は、2次元配列を複数含む配列。いわば3次元配列です。1つのテーブルが1つの2次元配列に変換されています。読み込みに失敗した時は nil を返します。

このメソッドを利用するためには、rubyのライブラリ nokogiri または hpricot のどちらかがrequireされている必要があります。ruby ver 1.9 以降では hpricot が使えないと思います。nokogiri を使って下さい。

テーブルの中のセル内に改行がある場合は、その改行を半角の '|' に変換します。'|' の前後に半角の空白を置くので、3バイトに変換することになります。

テーブル中にセル結合がある時は、結合セル群の左上端のところにデータを書き入れて、それ以外は空欄にします。

下に利用例を示します。

    tables = web2ary("http://www.hoge.com/test.htm")
    tbl = web2ary("test.htm", /都道府県別人口/).first
    tbl = web2ary(url, nil, 10).first  # 10行以上のテーブルのみ

トップページへ