ぎょーむ日誌 2004-03-23
2004 年 03 月 23 日 (火)
-
0720 起床.
ねむい.
朝飯.
コーヒー.
0820 自宅発.
晴.
0830 研究室着.
-
Perl モジュールで
SpreadSheet::ParseExcel
でゑくせるファイルをこじあけて,
内部に軟禁されてるデータを救出する作業.
ついでに入力まちがいのエラーチェックもやってみる
……
お,
予想してたより数は少ないけど
(というか,私が入力者だったらもっと間違ってただろう),
見つかった.
やっぱ,
データ数が 10 を超えたら,
人間の「目と手」だけの処理って不可能に近い難事だと思うんですが
……
-
しかしウワサによると,
生態学ゑくせりあん社会では
「どれだけ巨大なシートを作るか」
でエラさの序列が決まるらしいね.
-
1230 ひとまず最初のデータ変換は終了.
反復 29 × 花序型 3,
サイズ 2,
分配様式 3,
位置 6,
花数 {7, 13}
……
という実験設定に関するデータセット.
-
北大構内走.
晴.
昼飯.
-
午後からは訪花データを「使えるカタチ」
に変換する問題にとりくむ.
こんどは
R
でやってみよう.
read.table()
系の関数では読めない「ふぞろいな」ファイルがあったとしても,
それは
readLines()
や
strsplit()
でほどいていけばいいんだけど
……
問題はこいつをどういうデータ構造に格納するか,
というところにある.
-
この点はかなりアタマを悩ませる.
ふたつほど問題がありそうで
……
ひとつはこの先どういう解析につなげるかわからん,
というところ.
あれこれ想定してみたんだけど,
かなりいろいろな種類の演算がありそうだ.
ということで
list()
を駆使した階層的な構造のものにせざるをえないだろう.
-
で,
第二の問題はこういう階層的データ構造
(とても簡単なものなんだけど)
を理解してもらえるか,
というあたり.
大学院生たちのアタマって,
ゑくせる的二次元データ構造に支配されてしまってるんでは,
と懸念している.
かならずしもゑくせる派ではない紺野さんの洞察:
「久保君,
学生さんたちにとってゑくせるは単なる一ソフトウェアではない
……
とても基本的な,
そう,
OS なんだ.
『その上』でしかモノを考えないんだ」.
-
しかしながら,
まぁ,
ここは若者たちのアタマの柔軟性を信じることにして,
このデータ構造を採用.
CSV 化したデータを読みこませていく
……
と,
やはりここでも間違いというか不正規入力のたぐいが見つかっていく.
一般に,
生態学研究で使われるデータには
少なからぬ単純入力ミスのたぐいが含まれており,
その多くは修正されないまま統計ソフトウェアに
「流しこまれている」
のが現状だ.
むろんそのまま研究発表に供される.
-
対処法をうかがって,
と
……
さて,
構造化データ生成プログラムの中で
修正をかけろってことになったんだけど,
R のなかで文字列置換ってどうやりゃいいの?
いろいろヒネってみてこういうかんぢになった.
\\
が重要である.
> sub("\\(a.*\\)", "", c("123", "123(a)", "123(a?)", "123(a"))
[1] "123" "123" "123" "123(a"
-
午前にやった実験設定ファイルと連動させたりして,
とりあえずはカタチをなしてきたんで,
お茶部屋で発注者たる平林さん相手に簡単なデモンストレイション.
この先の解析に関するメモをもらう
……
やはり階層化データ構造を使うことにして正解だった.
-
不慣れなデータにばてたので,
本日はここまで.
1950 研究室発.
2000 帰宅.
体重 74.0kg.
晩飯.
ばてたので早々に寝る.
-
[今日の運動]
-
北大構内走 1240-1315.
ストレッチング.
-
[今日の食卓]
- 朝 (0730):
米麦 1.0 合.
キャベツ・ショウガ・ブナシメジ・豆腐・サケあらの味噌汁.
- 昼 (1340):
弁当.
研究室お茶部屋.
米麦 0.8 合.
コマツナ.
- 晩 (2040):
米麦 1.0 合.
ニラ卵炒飯.
コマツナ.