[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の関連で次のような解説も掲載したので、よかったら参考にして下さい。
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行以上のテーブルのみ