Rの良いとこ,悪いとこ
最近,bioinformatics系の解析ではR(http://www.r-project.org)が使われることが多くなっています.書籍も充実してきています(正直,帯に短しタスキに長しな感じの書籍が多い気もするが,成熟の過程では仕方がないだろう).でも,私はRが好きになれなくて,人に勧めるのをためらってしまいます.授業の資料作成がてら,あらためてRの良い点,悪い点をまとめてみます.
- 良い点
- 悪い点
Rが非常に便利なのは,確かなのですが,最後の「言語としてつかいにくい」という私の主観がネックで,やはり恒常的に使いたいとは思えませんでした.
具体的には,メソッドチェインが使いたい(メソッドの連続でデータ処理を行う)とか,関数一つにクラスが1個できてしまっている感じなので,いちいち何が使えるのか調べないといけない(これは,統計関数によって返すものが違うので仕方ないという事もありますが),行列の各要素に対しての作用素(apply系)が使いにくい,言語そのものがBASICの様な感じで前時代的で楽しくない,結果として,少し大きなプログラムは書きにくそう,など.
個人的な意向としては,Rubyなら,Rを凌駕するものを作りやすいかなぁと思っています.まず,データそのものはRubyのActiveRecordsの様に,データを読み込むと,その形式に従って動的にデータアクセス用メソッドが追加されるようにする.あとは,統計メソッドを用意して,メソッドチェインで,連鎖的な解析を出来るようにする.to_pvalue とかで pvalueを取りだしたりできるようにする.irb(というより,bioruby shell)を利用できるようにすれば,R相当のCUIは実装可能かな.
もし,Rubyで実装するとした場合の問題点は,
- グラフィックスを扱う,標準的なライブラリがない(これが布教には致命的)
- 計算が全般的に遅いので,計算を速くする工夫(C言語部分を多くするなど)が必要.