任意の距離係数でheatmapを描く

今日のプレトレーニングコースで詰まってしまったところの解決策かつ今後のためにメモ。

Rでデフォルトのheatmap, ライブラリーgregmiscのheatmap.2で任意の距離係数を使いたい場合、どうするか?ユークリッド距離の場合、デフォルトでいいのだけれど、例えば相関係数を使いたい場合はどうするか?今日のプレトレーニングコースでは

heatmap.2(x=as.matrix(dat), distfun=function(x) as.dist(1-cor(as.matrix((dat)))), hclustfun=function(x) hclust(as.dist(1-cor(as.matrix((dat))))), trace="none")
として、Rに

 以下にエラー heatmap.2(x = as.matrix(dat), distfun = function(x) as.dist(1 -  :
  row dendrogram ordering gave index of wrong length

と怒られてしまう。よくよくエラーを見ると

"row dendrogram ordering gave index of wrong length"

と行の順番(を与えるベクター)の長さがおかしいと怒られていることがわかった。そこでピーンときたのは
> as.dist(1-cor(as.matrix((dat))))
              atnos1       coi1       dde2     ein2.1       ein3       jar1       jin1       mpk3       mpk6
coi1        ...                                                                                      
dde2       ...               ...                                                                            
ein2.1     ...               ...           ...                                                                 
ein3        ...               ...           ...          ...                                                                                    

という距離係数の与え方では確かに行のクラスタリングはしていませんね。ということで行データのクラスタリングを別に指定する。heatmap.2を使うときに"Rowv=as.dendrogram()"も使って

correlationDistanceTable <- as.dist(1-cor(as.matrix((dat))))                    # 列のクラスタリング
rowClusters       <- hclust(as.dist(1-cor(as.matrix((t(dat)))))) # 行のクラスタリング
heatmap.2(x=as.matrix(dat), Rowv=as.dendrogram(rowClusters), distfun=correlationDistanceTable, hclustfun=function(x) hclust(correlationDistanceTable), trace="none")

とすると思った通りに動きました。めでたし。

The 1st NIBB-Princeton symposium

YS先生、SK先生、SS先生オーガナイザーのPrinceton大学とのシンポジウム終了。
http://www.nibb.ac.jp/nibb_princeton1/index.html

自分の発表は今ひとつだったものの(反省しきり。。)、自分の興味の範疇で研究していると出会えない人とお話しできたりして収穫はありました。これ(↓)を生み出した神にも会いました(笑)。
http://kajipon.sakura.ne.jp/art/jojo-cell.html

また、皆、統計は困っているんだなあ、と感じました。日常的に統計を使っているはずなのに(生物学者は多かれ少なかれ日々使うはず!)、そもそも実験をデザインするのにどう解析するか事前に考えるはずなのに、生物学の統計学に関する教育が軽んじられている気がします。こういうのは変えていかないといけないんですよね。ということで近々、QBO(岡崎での勉強会)第3期スタートをかけようと思います。

生命情報科学若手の会第3回終了、9月の4出張その1

昨日、生命情報科学若手の会第3回研究会を裏方として支えてくれた現地スタッフと打ち上げをしました。書類仕事がいくつかありますが、これで一息です。T君おすすめの岡崎の名所(?)であるデンバーさんで美味しいビールと料理を堪能しました。なかなか渋いお店の雰囲気に関わらず、若者向けにお願いしたボリュームある料理もマスターの気遣いでした。ありがとうございました。また、お世話になります。
http://www.remus.dti.ne.jp/~denver/


今回の研究会を宣伝している間に東大のI先生とも お知り合いになれました。I先生にお声がけいただいて参加した画像計測研究会(http://dg1.nifs.ac.jp/~ohdachi/gazo_kaiseki/index.html)も日本のいわゆる実験に関連する画像の解析分野がどこまで進んでいるかを知る良い機会でした。実はそこで始めて対面したT先生にメールで某案件について
今日になって返信。。。大変失礼しました(汗)。
記事検索
livedoor プロフィール
カテゴリ別アーカイブ
タグクラウド
QRコード
QRコード
  • ライブドアブログ