R を使ったヒートマップの作り方
UB3/informatics/r/heatmap_r
このページの最終更新日: 2022/05/21関連ページ
広告
概要: ヒートマップとは
下にあるような、値を色の違いで表した図をヒートマップ heatmap という (図は Public domain)。R には、ヒートマップを作る関数はたくさんある。このページでは、それらの関数を概観する。 詳細なヒートマップ作成方法は、内容が増えてきた関数から個別のページを作ってまとめていく。
ヒートマップを作る際には、データを並べ替えるクラスタリング clustering も同時に行われることが多い。下の図では、X および Y の 2 つの軸でクラスタリングが行われている。

heatmap
R デフォルトの関数。heatmap(A) で、A は行列。read.csv などで読み込んだデータは、リスト形式 list になっている場合がある。行列に変換する関数 as.matrix も覚えておくと便利だろう。
例えば、組み込みデータセット の一つ、mtcars を使って以下のようにヒートマップを作る。

heatmap 関数には、以下のようなオプションがある。個人的には、この R デフォルトの関数が一番使いやすいように思う。
Colv, Rowv |
Colv = NA で列をクラスタリングしなくなる。行のクラスタリング解除は Rowv = NA である。 |
scale |
scale = c("row/column/none") で、行ごと、列ごとの色の設定などを指定。 |
広告
heatmap.2
gplots パッケージに含まれる関数。
greenred(50) は、 緑と赤で 50 段階で色分け。trace="none" は青い トレースの線をトレースの線を 消す。
geom_tile
ggplot2 パッケージに含まれる関数。ヒートマップは作れるが、クラスタリング機能がない。クラスタリングしたい場合は、他の関数と組み合わせる必要がある。
pheatmap
pheatmap ライブラリに含まれる。
参考ページ RDocumentation, GitHub.
ComplexHeatmap
複雑なヒートマップを作りたい場合 (1)。インストールは BiocManager から。BiocManager::install ("ComplexHeatmap") とする。
以下のオプションの詳細は RDocumentation に。
クラスタリング |
|
行列の名前、位置 |
|
na_col |
この関数は、NA があってもクラスタリングをすることができる (参考)。ただし、距離行列を計算することができない場合にはクラスタリングできない (参考)。全て NA の列があったりすると、距離行列は計算できない。 Hclust という関数をクラスタリングに使っているので、これは Hclust の特徴と思われる。 |
name |
name = "parameter" のようにして、legend の名前を決める。 |
superheat 関数
使い方を丁寧にまとめたページがある (2)。
devtools::install_github("rlbarter/superheat") でインストールできる。
広告
References
Gu and Hübschmann, 2022a. Make interactive complex heatmaps in R. Bioinformatics 38, 1460-1462, 2022.- 複雑なデータをヒートマップで可視化するためのRパッケージ Superheat. Link: Last access 2022/05/20.
コメント欄
各ページのコメント欄を復活させました。スパム対策のため、以下の禁止ワードが含まれるコメントは表示されないように設定しています。レイアウトなどは引き続き改善していきます。「管理人への質問」「フォーラム」へのバナーも引き続きご利用下さい。
禁止ワード: http, the, м (ロシア語のフォントです)
|
|
このページにコメント
これまでに投稿されたコメント
Date | Name | Comment |
---|---|---|
2022-03-10 22:17:30.625426 |
ZAP |
|
2022-03-10 22:15:11.874723 |
ZAP |
|
2022-03-10 20:56:20.436581 |
ZAP |