Rで解析:ヒートマップの描写に便利です!「fheatmap」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

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
#&#12487;&#12540;&#12479;&#20998;&#12398;&#31354;list&#12434;&#20316;&#25104;
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&#12398;&#25551;&#20889;
###&#36317;&#38626;&#35336;&#31639;&#27861;&#12434;&#25351;&#23450;:cluster_distance_rows,cluster_distance_cols&#12458;&#12503;&#12471;&#12519;&#12531;
#&#35336;&#31639;&#12395;&#12399;dist&#12467;&#12510;&#12531;&#12489;&#12364;&#20351;&#12431;&#12428;&#12390;&#12356;&#12414;&#12377;
#&#35373;&#23450;&#21487;&#33021;&#12394;&#35336;&#31639;&#26041;&#27861;:euclidean(&#12487;&#12451;&#12501;&#12457;&#12523;&#12488;),maximum,manhattan,
#canberra,binary,minkowski
########
###&#12463;&#12521;&#12473;&#12479;&#12522;&#12531;&#12464;&#27861;&#12434;&#25351;&#23450;:clustering_method&#12458;&#12503;&#12471;&#12519;&#12531;
#&#35336;&#31639;&#12395;&#12399;hclust&#12467;&#12510;&#12531;&#12489;&#12364;&#20351;&#12431;&#12428;&#12390;&#12356;&#12414;&#12377;
#&#35373;&#23450;&#21487;&#33021;&#12394;&#35336;&#31639;&#26041;&#27861;:ward.D(&#12487;&#12451;&#12501;&#12457;&#12523;&#12488;),ward.D2,single,
#complete,average,mcquitty,median,centroid
########
#&#12479;&#12452;&#12523;&#12398;&#33394;&#12434;&#35373;&#23450;:mat_color&#12458;&#12503;&#12471;&#12519;&#12531;
#&#22522;&#26412;&#30340;&#12394;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")

#&#21015;&#20596;&#12395;&#12459;&#12521;&#12540;&#12496;&#12540;&#12434;&#36861;&#21152;:annotation_row&#12458;&#12503;&#12471;&#12519;&#12531;
#&#34892;&#20596;&#12399;annotation_col&#12458;&#12503;&#12471;&#12519;&#12531;
###&#36861;&#21152;&#12487;&#12540;&#12479;&#20363;#####
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))
########
#&#21015;&#20596;&#12395;&#12459;&#12521;&#12540;&#12496;&#12540;&#12434;&#36861;&#21152;&#12375;&#12390;plot
fheatmap(TestData, annotation_row = AddRowData)

#&#21015;&#20596;&#12459;&#12521;&#12540;&#12496;&#12540;&#12398;&#33394;&#12434;&#25351;&#23450;:annot_row_color&#12458;&#12503;&#12471;&#12519;&#12531;
#&#34892;&#20596;&#12399;annot_row_colo&#12458;&#12503;&#12471;&#12519;&#12531;
#annotation_row&#12458;&#12503;&#12471;&#12519;&#12531;&#12392;&#21516;&#12376;&#34892;&#21517;&#12395;&#12377;&#12427;
###&#36861;&#21152;&#12487;&#12540;&#12479;&#20363;#####
AddRowColData <- data.frame(ChrData = sample(c("yellow", "red", "black"), n, replace = TRUE),
                            IntData = sample(NA, n, replace = TRUE))

出力例

・基本的なplot

fheatmapPlot

・annotation_rowオプション

annotation_row

・annot_row_colorオプション

annot_row_color

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

タイトルとURLをコピーしました