「Rの基礎とプログラミング技法」を読み返した

Rのオブジェクト指向ってCommon Lispのそれと似ている?

ProductName Rの基礎とプログラミング技法
U.リゲス
シュプリンガー・ジャパン(株) / ¥ 3,675 ()
在庫あり。

+も->も関数

> "<-"(a,2)
> a
[1] 2
>  "+.Date"(as.Date("2010-03-31"),1)
[1] "2010-04-01"

遅延評価はdelayedAssignで

> delayedAssign("lazy",{print("delayed"); 3})
> lazy
[1] "delayed"
[1] 3

モデル式で相互作用は:で。*を使うと相互作用を含むモデル

y ~ x1 * x2 * x3

は x1:x2, x1:x3, x2:x3を含む

ここ数年分の血圧データをggplot2で

自分の血圧のデータが3年くらい溜まっているので、収縮期血圧と測定日時のプロットをして、スムージングもしてみた。冬場は血圧が上昇する傾向にある。測定始める前は180超えて190近くあったから、かなり落ち着いた感じ。

library(ggplot2)
data <- read.csv("/Users/kzfm/mybp.csv",header=FALSE)
time <- strptime(data$V1, "%Y-%m-%d")
high <- data$V2
low  <- data$V3
mybp <- data.frame(time=time,high=high,low=low)
p <- qplot(data=mybp,time,high)
p +  stat_smooth() + stat_smooth(colour="green", method="lm", formula=y~poly(x,9), size=1,se=FALSE)

bp2010

2008年から2009年の頭のあたりで急激に落ちているのは環境要因ですな。そして、ああいう働き方は二度としないしできないだろうなぁ。

Rbookの15章は混合効果モデル

最近気づいたので読んでた。

具体的な例なのでわかりやすい。

でも、この本は理論的な説明がないから数式とかは他の本で追わなあかんね。

QR分解とかLU分解とか

思うところあって(というか、非線形混合効果モデルの式がなかなか把握できないので)、線形代数のあたりを復習してみたりとか。

プログラミングのための線形代数はやっぱりいい本だなぁと思う。幾何的なイメージつかみやすいし、QR分解とかLU分解とかもわかりやすい

ProductName プログラミングのための線形代数
平岡 和幸,堀 玄
オーム社 / ¥ 3,150 ()
在庫あり。

以下、Rで。

LU分解

library(Matrix)
x <- Matrix(rnorm(9), 3, 3)
elu <- expand(lu(x))
elu$L
elu$U

QR分解

x <- matrix(rnorm(9), 3, 3)
y <- qr(x)
qr.Q(y)
qr.R(y)

個体差を考慮した統計モデル

生態学のデータ解析 - GLMM 参照からたどれる数学セミナー2007が非常にわかりやすかった。

> library(glmmML)
> d <- read.csv("http://hosho.ees.hokudai.ac.jp/~kubo/ce/memo/hierarchical2007/figSS/d.csv")
> glmmML(cbind(y,10-y) ~ 1, data=d, family=binomial, cluster=d$plant.ID)

Call:  glmmML(formula = cbind(y, 10 - y) ~ 1, family = binomial, data = d,      cluster = d$plant.ID) 


                    coef se(coef)       z Pr(>|z|)
(Intercept) -0.03582   0.1578 -0.2270     0.82

Scale parameter in mixing distribution:  1.373 gaussian 
Std. Error:                              0.1389 

Residual deviance: 259.7 on 98 degrees of freedom   AIC: 263.7 

ProductName Mixed-Effects Models in S and S-PLUS (Statistics and Computing)
José Pinheiro,Douglas Bates
Springer / ¥ 5,749 ()
在庫あり。

ProductName パターン認識と機械学習 下 - ベイズ理論による統計的予測
C. M. ビショップ
シュプリンガー・ジャパン株式会社 / ¥ 8,190 ()
在庫あり。

ProductName 計算統計 2 マルコフ連鎖モンテカルロ法とその周辺 (統計科学のフロンティア)
伊庭 幸人,種村 正美
岩波書店 / ¥ 4,620 ()
在庫あり。

この本の5,6章も何度か読み直さないとイケナイ。

ProductName 母集団薬物データの解析 (統計科学選書)
矢船 明史,石黒 真木夫,赤池 弘次
朝倉書店 / ¥ 3,045 ()
在庫あり。

混合効果モデル

去年の夏に購入したまま積んであったMixed-Effects Models in S and S-PLUSを読んでいる。

ProductName Mixed-Effects Models in S and S-PLUS (Statistics and Computing)
José Pinheiro,Douglas Bates
Springer / ¥ 5,749 ()
在庫あり。

Rのnlmeパッケージの使い方もほとんど一緒なので、手動かしながら読めていい。内容は結構ハードでなかなか読み進まないが。

読みながら色々調べてたら生態学のデータ解析 - ランダム効果とは?というページを見つけて、固定効果それともランダム効果?のガイドラインが便利そうだったのでチャートにしてみた。

RandomEffect of FixedEffect?

最初pygraphvizで描こうと四苦八苦してたんだけど、unicodeはadd_nodeできんのにadd_edgeとかget_nodeとか出来なくてあきらめた(直接dot書いた)。

他にはMixed-Effects Models in S and S-PLUSは和訳がでるっていう情報も見つけた。これはちょっと凹む。まぁ、和訳の本は職場で入れてもらって、会社ではそっち読めばいいかな。

Rで決定木

Rと樹木モデルを読みながらトレースしてみた。

決定木

cart1

散布図に対し階段型回帰折れ線を追加。

cart2

ケミスト向けに分類と予測の枠組みを用意しておいてもいいかもしれんな。

WindowsでRPyを使う

普段はLinuxマシンでRPyを使うのだけど、手元のLet's NoteR4でも使いたいので。

  • R2.6.1
  • Python2.5.1
  • RPy1.0.1
  • pywin32 build210

pywinはeasy_installで。普通にダウンロードしてクリックからのインストールでもいいような。

easy_install pywin32

RPyはrpy-1.0.1-R-1.3.0-to-2.6.1-Numpy-win32-py2.5.exeを落としてきて入れた。

あと環境変数。R_HOMEがねーとかwin32allがimport出来ないとかいうエラーは環境変数の設定のせい。次の二つを環境変数Pathにセットしておくととりあえず大丈夫。

C:\Program Files\R\R-2.6.1\bin
C:\Python25\Lib\site-packages\pywin32-210-py2.5-win32.egg\pywin32_system32

後者のほうはなんとかならんかね。Pathに設定するようなもんじゃないと思うんだけど。前者もpathでなくてR_HOMEとかにセットできたらいいのにね。

macbookでRpyを利用できるようにしたのでメモ

python2.5,R-2.7.1,rpy1.0.3という組み合わせで。rpy2-alphaはコンパイルが通らなかった。

Rのインストール

Rはソースからコンパイル。enable-R-shlibオプションをつけるのを忘れずに、というより配布されていたバイナリはこれつきでコンパイルされてないようなのでそのままではrpyが入らないはず。

R CMD config --ldflags

とか打つとOKかどうかわかる。 ダメげな場合は潔くソースから。

./configure --enable-R-shlib
make

ここでまた、make installするとshlibがなんかみつからなくなるという現象に悩まされた。そのため、ユーザー領域でコンパイルしたバイナリを使う事にした。/Users/kzfm/R-2.7.1/bin/Rが実体で/opt/local/bin/Rにシンボリックリンクを張って使っている。

Rpyのインストール

export R_HOME=/Users/kzfm/R-2.7.1
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$R_HOME/lib

これが重要。あとmacのgccでもコンパイルできなくてmacportのgcc使ってコンパイルする必要があるかもしれない。

あとは普通に

sudo python setup.py install

でいけるはず。

オープンソースで始めるゲノム・プロテオーム・メタボローム解析

perl,python,Rでオームな解析をするための本。ツールやデータベースの説明が主なので、ハウツーな感じではなくて、インフォマティクス側からみたバイオロジーとかケミストリーのサービスとかツールのレビューに近い感じかも。

個人的には5章のケモインフォのとこと、9章のRの章が面白かった。