ggplot2を利用してヒートマップを描写するパッケージです。他のパッケージと比べ、行列に付与するカラーバーデータの描写が便利です。
参考までに、これまで「からだにいいもの」で紹介しているheatmap作成のパッケージのいくつかを紹介します。
・Rで解析:カレンダーをヒートマップ化。「openair」パッケージ
https://www.karada-good.net/analyticsr/r-261/
・Rで解析:インタラクティブなヒートマップ!D3.jsを利用した「d3heatmap」パッケージの紹介
https://www.karada-good.net/analyticsr/r-122/
・Rとウェブ解析:ggplot2でプロットするヒートマップ「gapmap」パッケージ
https://www.karada-good.net/analyticsr/r-28/
・Rとウェブ解析:簡単HeatMapパッケージ「pheatmap」の紹介
https://www.karada-good.net/analyticsr/r-68/
パッケージバージョンは1.1.4。実行コマンドはR version 3.2.2で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール
install.packages("fheatmap")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み
library("fheatmap")
###データ例の作成#####
set.seed(1234)
n <- 10
#データ分の空listを作成
TestData <- vector("list", n)
for(i in seq(n)){
TestData[[i]] <- sample(1:5, n, replace = TRUE)
}
TestData <- data.frame(TestData)
rownames(TestData) <- paste0("Group", seq(n))
colnames(TestData) <- paste0("Data", seq(n))
########
#heatmapの描写
###距離計算法を指定:cluster_distance_rows,cluster_distance_colsオプション
#計算にはdistコマンドが使われています
#設定可能な計算方法:euclidean(ディフォルト),maximum,manhattan,
#canberra,binary,minkowski
########
###クラスタリング法を指定:clustering_methodオプション
#計算にはhclustコマンドが使われています
#設定可能な計算方法:ward.D(ディフォルト),ward.D2,single,
#complete,average,mcquitty,median,centroid
########
#タイルの色を設定:mat_colorオプション
#基本的なplot
fheatmap(TestData, title = "Test Heatmap", title_fontsize = 6,
title_color = "red", title_fontface = "italic",
#mat_color = c("green", "yellow","red"),
cluster_distance_rows = "euclidean",
cluster_distance_cols = "euclidean",
clustering_method = "ward.D")
#列側にカラーバーを追加:annotation_rowオプション
#行側はannotation_colオプション
###追加データ例#####
AddRowData <- data.frame(ChrData = sample(c("G1", "G2", "G3"), n, replace = TRUE),
IntData = sample(1:3, n, replace = TRUE))
rownames(AddRowData) <- paste0("Group", seq(n))
########
#列側にカラーバーを追加してplot
fheatmap(TestData, annotation_row = AddRowData)
#列側カラーバーの色を指定:annot_row_colorオプション
#行側はannot_row_coloオプション
#annotation_rowオプションと同じ行名にする
###追加データ例#####
AddRowColData <- data.frame(ChrData = sample(c("yellow", "red", "black"), n, replace = TRUE),
IntData = sample(NA, n, replace = TRUE))
出力例
・基本的なplot

・annotation_rowオプション

・annot_row_colorオプション

少しでも、あなたのウェブや実験の解析が楽になりますように!!