広告 特殊なグラフ

R言語でヒートマップ(heatmap)を作成する方法

2024年2月3日

皆さん、こんにちは!R言語を使った統計学のブログを運営しているYosyです。

今日は、R言語でヒートマップ(heatmap)を作成する方法について解説します。

ヒートマップは、行列データの可視化に役立つグラフです。データの値を色で表すことで、データの分布や傾向を簡単に把握することができます。

生物学では、さまざまなデータの可視化にヒートマップが用いられています。

マイクロアレイやRNA-Seqなどの技術で得られた遺伝子発現データは、ヒートマップを用いて可視化することで、発現量の違いやパターンを比較分析することができます。

また異なる組織や細胞種における遺伝子発現の違い、特定の条件下での遺伝子発現の変化などを調べることができます。

ヒートマップを作成する手順

R言語でヒートマップを作成するには、以下の手順が必要です。

  1. データの準備
  2. パッケージのインストール
  3. ヒートマップの作成
  4. ヒートマップのカスタマイズ

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言語でヒートマップを作成する方法について解説しました。

ヒートマップは、データの可視化に役立つグラフです。今回解説した内容を参考に、ぜひヒートマップを作成してみてください。

-特殊なグラフ
-