ぎょーむ日誌 2003-05-23
2003 年 05 月 23 日 (金)
-
0830 起床.
朝飯.
コーヒー.
0900 自宅発.
曇.
0910 研究室着.
-
うるしかぶれはエタノールでふくと少しよくなったような気がする
(かぶれの原因であるウルシオールはエタノール可溶,
ということらしいんで)
……
が,
いつまでも治らないようなら,
地環研前の皮膚科医院に行ってみますか.
-
一日中ユキザサデータの解析のつづき
……
というより,
統計学ソフトウェア
R
の使いかたの勉強,
というところだな.
-
ここまでユキザサデータ解析はおもに Perl でやってきたわけだが
(おそらく最後まで Perl は必要不可欠だろう)
……
まあ,
R でできることは R でやらせてみよう,
と.
-
R
(の上で動く S 言語)
ってのはあまりどろくさい書きかたをやりたくない言語
ではなかろーか.
現在主流のスクリプト言語ども (Perl/Python/Ruby)
あるいは STL なんかを使った C++ とかでは
ループなんかを見苦しくないように書ける.
しかし R でループを書くとうっとうしい
(私の調べかたが不充分である可能性大).
-
で,
そういう場合はどうするか?
私の現時点での理解では,
ここは R における generic 指向な書法として
tapply
など apply
系の関数なんかを使うのが良さそう,
というかんぢだ
(こういうのは上述の他言語でも使えるようには
なってきているんだけど).
-
たとえば目安
として (あくまでも目安だ)
「葉の枚数 N である個体が花をつけてる確率」
ってのを計算してみたければ,
ただ一行
tapply(smilacina$flower, INDEX = smilacina$leaf, FUN = mean)
てなふうに書いてしまえばよい
(smilacina$flower ∈ {0, 1}
).
「葉の枚数 N である個体のうち花をつけてる個体数」
であるなら
tapply(smilacina$flower, INDEX = smilacina$leaf, FUN = sum)
とか.
で,そういうふうに tapply
で生成した結果を
data.frame
でくっつけて,
write.table
するとこういう結果が出力される.
leaf.number total flower prob
1 113 0 0
2 97 0 0
3 96 1 0.01
4 93 4 0.043
5 95 20 0.211
6 67 43 0.642
7 6 5 0.833
-
というふうに一日中 R でぢたばたしておりました.
解析そのものはほとんど進捗せず.
-
1950 研究室発.
2010 帰宅.
体重 70.8kg.
お,
苫小牧ふとりになってるかと思いきや,
むしろ体重が減少している
……
まあ,
あの大量の晩飯の半分以上を苫小牧院生に
ひきとっていただいたのがよかったんだろうが,
たいして運動もしていないのにここまで減少するとは.
-
ここで現象の理解のカギとなるのが,
「今日の食卓」
には記されていないふだんの食物摂取内容であろう.
で,
あれこれ思いあたる原因あるわけだが,
最大のものはやはり牛乳大量摂取かな.
一日 0.7-1.0 リットル.
これは 500 キロカロリー以上かつ 30g 以上の脂肪摂取,
ということになる.
うーむ.
乳児的というか睡眠剤がわりとしての牛乳依存症というか.
-
と思いつつも今日もたくさん飲んでしまった.
今度から 1 リットルパックを買ったら,
4 日ぐらいかけて消費するようにしなくては.
そんなことできるのだろうか.
しばらく買うのはやめておこうかな.
-
[今日の運動]
-
[今日の食卓]
- 朝 (0810):
米麦 0.7 合.
納豆.
- 昼 (1310):
弁当.
研究室お茶部屋.
米麦 0.7 合.
コマツナ.
- 晩 (2140):
米麦 0.7 合.
タマネギ・マイタケの炒めもの.
コンブ.