読者です 読者をやめる 読者になる 読者になる

アメリエフのブログ

Amelieff Staff Blog

heatmap.2のlmatオプション

Rにはデフォルトでもヒートマップを作成するheatmap関数がありますが、私はheatmap関数より多機能なgplotsパッケージのheatmap.2関数をよく使います。

基本的な使い方はheatmap関数と同じです。
gplotsパッケージをインストールしていない場合はインストールから始めます。
install.packages("gplots")
library(gplots)
引数はnumericのmatrixです。
ここではRに組み込まれているデータセットmtcarsをmatrixに変換して使います。
input<-as.matrix(mtcars)
heatmap.2(input)
heatmap.2で作図すると、デフォルトでは左上にカラーキー、右上にinputのcolをクラスタリングしたデンドログラム、左(左下)にinputのrowのデンドログラム、右(右下)にヒートマップが描画されます。この配置はheatmap.2のlmatオプションで変えることができます。
lmatオプションの使い方はlayout関数と同じで、作図の順番を指定するためのmatrixを指定して使います(heatmap.2内部でlayout関数を使っています)。作図される順は下図の通りです。
heatmap2(default)lmatを変更すると、layout関数のheights、widthsオプションに相当するlheiオプションとlwidオプションが要求されるので、適当な数字を指定する必要があります。

カラーキーを右上に移動してみます。
lm<-matrix(c(0,2,3,1,4,0),ncol=3)
heatmap.2(input,lmat=lm,lwid=c(1,5,2),lhei=c(1,4))

ただし、 ColSideColors/RowSideColorsオプションを使うと、これらの作図順が?番になり、以降のの順番がずれます。
heatmap.2(input,ColSideColors=col)
# colで任意の色を指定します
heatmap2(sidecol)
両方使用した場合、?RowSideColors ?ColSideColorsの順になります。
私はここにひっかかって苦労したので、紹介してみました。