R入門

R introの日本語訳
やっぱりRは変な言語だ。
データのハンドリングには便利なのだが、癖がありすぎる。

遅延評価とかオブジェクト思考とかクロージャーとか名前付き引数とか、いろ
いろできるんだけど、全体としてはなかなか難しい。


どちらかと言うとlispとかに似ているような気もする。

bindが x <- 1 と書けるあたり、関数型の仲間なのだろう。

f <- function(t){
 list( de=function(a){t <<- t+a},
       ac=function(){t}
     )
}

は、t <<- t+a をt <- t+a にすると、実行結果を保存できない。

rubyでは、
def f(t)
  {:de=>proc{|a|t=t+a},:ac=>proc{t}}
end
という感じか。schemeだと、
(define f (lambda (t) (list  (lambda (a) (set! t (+ t a)) (lambda () t)))))
かなあ。どっちも、<<- と同じ意味がデフォールト。

統計的知識を前提とする章は飛ばす。特に11章

図が簡単に綺麗に描けるというのが、Rの売りのはずなのだが、どう考えても
Rのグラフ作図は簡単じゃない。

たとえば、qqplotをデータセット5つにたいして重ね描きする場合、ymin,ymax
を手動で与える必要があるとか、色も気をつけるとか、凡例はどうしてくれる
んだ、とか、面倒。

せっかく car libraryで、qq.plotを使えば信頼区間(なのか?)も作図できる、
と言いつつも、qq.plotを複数重ね書きするのは結構骨。

箱ひげ図が簡単に描けます、って言ったって箱ひげ図をx軸を間隔尺度にする、
とか、あまり簡単じゃなさそうなんだよね。

というように、与えられたフォーマットで作図する分には結構楽なんだけど、
その次の一歩が難しい。

2005/03/17