R を使ったヒートマップの作り方

UB3/informatics/r/heatmap_r

このページの最終更新日: 2022/05/21

  1. 概要: ヒートマップとは
  2. heatmap 関数
  3. heatmap.2 関数
  4. geom_tile 関数
  5. pheatmap 関数
  6. ComplexHeatmap 関数
  7. superheat 関数

関連ページ


広告

概要: ヒートマップとは

下にあるような、値を色の違いで表した図をヒートマップ heatmap という (図は Public domain)。R には、ヒートマップを作る関数はたくさんある。このページでは、それらの関数を概観する。 詳細なヒートマップ作成方法は、内容が増えてきた関数から個別のページを作ってまとめていく。

ヒートマップを作る際には、データを並べ替えるクラスタリング clustering も同時に行われることが多い。下の図では、X および Y の 2 つの軸でクラスタリングが行われている。

Rで作成したヒートマップ

heatmap

R デフォルトの関数。heatmap(A) で、A は行列。read.csv などで読み込んだデータは、リスト形式 list になっている場合がある。行列に変換する関数 as.matrix も覚えておくと便利だろう。

例えば、組み込みデータセット の一つ、mtcars を使って以下のようにヒートマップを作る。

heatmap(as.matrix(mtcars))

Rで作成したmtcarsのヒートマップ

heatmap 関数には、以下のようなオプションがある。個人的には、この R デフォルトの関数が一番使いやすいように思う。

Colv, Rowv

Colv = NA で列をクラスタリングしなくなる。行のクラスタリング解除は Rowv = NA である。

scale

scale = c("row/column/none") で、行ごと、列ごとの色の設定などを指定。


広告

heatmap.2

gplots パッケージに含まれる関数。

heatmap.2(A, col=greenred(50), trace="none")

greenred(50) は、 緑と赤で 50 段階で色分け。trace="none" は青い トレースの線をトレースの線を 消す。

geom_tile

ggplot2 パッケージに含まれる関数。ヒートマップは作れるが、クラスタリング機能がない。クラスタリングしたい場合は、他の関数と組み合わせる必要がある。


pheatmap

pheatmap ライブラリに含まれる。

参考ページ RDocumentation, GitHub.

ComplexHeatmap

複雑なヒートマップを作りたい場合 (1)。インストールは BiocManager から。BiocManager::install ("ComplexHeatmap") とする。

以下のオプションの詳細は RDocumentation に。

クラスタリング

  • cluster_columns = TRUE または FALSE
  • cluster_rows = TRUE または FALSE
  • show_column_dend = TRUE または FALSE
  • show_row_dend = TRUE または FALSE

行列の名前、位置

  • show_row_names: TRUE または FALSE
  • show_column_names: TRUE または FALSE
  • row_names_side = "left" または "right"
  • column_names_side: "top" または "bottom"

na_col

この関数は、NA があってもクラスタリングをすることができる (参考)。ただし、距離行列を計算することができない場合にはクラスタリングできない (参考)。全て NA の列があったりすると、距離行列は計算できない。

Hclust という関数をクラスタリングに使っているので、これは Hclust の特徴と思われる。

name

name = "parameter" のようにして、legend の名前を決める。

superheat 関数

使い方を丁寧にまとめたページがある (2)。

devtools::install_github("rlbarter/superheat") でインストールできる。


広告

References

  1. Gu and Hübschmann, 2022a. Make interactive complex heatmaps in R. Bioinformatics 38, 1460-1462, 2022.
  2. 複雑なデータをヒートマップで可視化するためのRパッケージ Superheat. Link: Last access 2022/05/20.

コメント欄

各ページのコメント欄を復活させました。スパム対策のため、以下の禁止ワードが含まれるコメントは表示されないように設定しています。レイアウトなどは引き続き改善していきます。「管理人への質問」「フォーラム」へのバナーも引き続きご利用下さい。

禁止ワード: http, the, м (ロシア語のフォントです)


このページにコメント

Name:


Comment:



これまでに投稿されたコメント

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