皆さん、こんにちは!R言語を使った統計学のブログを運営しているYosyです。
今日は、R言語でヒートマップ(heatmap)を作成する方法について解説します。
ヒートマップは、行列データの可視化に役立つグラフです。データの値を色で表すことで、データの分布や傾向を簡単に把握することができます。
生物学では、さまざまなデータの可視化にヒートマップが用いられています。
マイクロアレイやRNA-Seqなどの技術で得られた遺伝子発現データは、ヒートマップを用いて可視化することで、発現量の違いやパターンを比較分析することができます。
また異なる組織や細胞種における遺伝子発現の違い、特定の条件下での遺伝子発現の変化などを調べることができます。
ヒートマップを作成する手順
R言語でヒートマップを作成するには、以下の手順が必要です。
- データの準備
- パッケージのインストール
- ヒートマップの作成
- ヒートマップのカスタマイズ
1.データの準備
ヒートマップを作成するには、行列データが必要です。データは、数値型でもカテゴリ型でも構いません。
事前に各データの平均を0,標準偏差を1にした標準化した行列データを用意し、Rに読み込ませておきます(data_matrix)。
2.パッケージのインストール
R言語には、ヒートマップを作成するためのパッケージがいくつかあります。ここでは、代表的なパッケージであるpheatmap
を紹介します。インストールしていない場合は、次のスクリプトを実行して必要なパッケージをインストールしてください。
# pheatmapパッケージのインストール
install.packages("pheatmap")
3.ヒートマップの作成
pheatmap()関数を使ったヒートマップの作成スクリプトは次のとおりです。
pheatmap(data_matrix,
scale = "none", # 行方向での標準化
clustering_distance_rows = "euclidean",
clustering_distance_cols = "euclidean",
clustering_method = "complete",
fontsize_row = 5, # 行名のフォントサイズ
fontsize_col = 15, # 列名のフォントサイズ
color = colorRampPalette(c("green", "black", "red"))(100), # カラーパレット
cellheight = 5,
cellwidth = 40,
border_color = 'gray') # 境界線の色を灰色に設定
スクリプトの解説
-
data_matrix
: これは、ヒートマップを作成するためのデータマトリックスです。 -
scale = "none"
: これは、データの行方向の標準化を行わないことを意味します(今回は、標準化の操作はエクセルで既に行ったデータを使っているので)。つまり、データはそのままの形で表示されます。他のオプションには"row"や"column"があり、それぞれ行または列に沿ってデータを標準化します。 -
clustering_distance_rows = "euclidean"
: 行のクラスタリングに使用する距離測定方法を「ユークリッド距離」に設定します。これは、行間の距離を測定する標準的な方法です。 -
clustering_distance_cols = "euclidean"
: 列のクラスタリングにユークリッド距離を使用します。これにより、列間の距離も同様に測定されます。 -
clustering_method = "complete"
: これは、クラスタリングの方法として「完全連結法」を使用することを意味します。これは、クラスタ間の最も遠いメンバー間の距離に基づいてクラスタを形成する方法です。 -
fontsize_row = 5
: 行名のフォントサイズを5に設定します。これにより、行ラベルが小さく表示されます。 -
fontsize_col = 15
: 列名のフォントサイズを15に設定します。これにより、列ラベルがより大きく表示されます。 -
color = colorRampPalette(c("green", "black", "red"))(100)
: データの値に基づいて色を割り当てるカラーパレットを設定します。ここでは、値に応じて緑から黒へ、そして赤へと変化するパレットが100の異なる色で作成されます。 -
cellheight = 5
: 各セルの高さを5に設定します。 -
cellwidth = 40
: 各セルの幅を40に設定します。 -
border_color = 'gray'
: セルの境界線の色を灰色に設定します(ただし、コメントには'白に設定'とありますが、実際には'gray'に設定されています。コメントが間違っているか、意図された色とコードが一致していない可能性があります)。
上記スクリプトを実行すると次のようなヒートマップが出来ます。
まとめ
今回は、R言語でヒートマップを作成する方法について解説しました。
ヒートマップは、データの可視化に役立つグラフです。今回解説した内容を参考に、ぜひヒートマップを作成してみてください。