Rでコマンド:ヒートマップに便利なパッケージとコマンド

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

簡単なヒートマップの作成に適した「pheatmap」パッケージとパッケージに依存せずにヒートマップを描写するコマンドの紹介です。何かの参考になればと思います。

実行コマンドはR version 4.2.2で確認しています。

スポンサーリンク

実行コマンド

詳細はコメント、各パッケージのヘルプを確認してください。

###データ例の作成#####
n <- 30
ReadData <- data.frame(Group = paste0("Group", 1:n),
                       Data1 = sample(0:10, n, replace = TRUE),
                       Data2 = sample(0:10, n, replace = TRUE),
                       Data3 = sample(0:10, n, replace = TRUE),
                       Data4 = sample(0:10, n, replace = TRUE))
#######

###pheatmap&#12391;&#12503;&#12525;&#12483;&#12488;#####
#&#12497;&#12483;&#12465;&#12540;&#12472;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;
install.packages("pheatmap")
#&#12497;&#12483;&#12465;&#12540;&#12472;&#12398;&#35501;&#12415;&#36796;&#12415;
library("pheatmap")

#&#34892;&#21517;&#12434;&#20462;&#27491;
rownames(ReadData) <- ReadData[, 1]
ReadData <- ReadData[, -1]

#Mac&#12391;&#25991;&#23383;&#21270;&#12369;&#38450;&#27490;
pheatmap(ReadData,
         cellwidth = 100,
         cellheight = 7,
         main = "TEST TITLE",
         color = colorRampPalette(c("#4b61ba", "#505457", "#a87963"))(10),
         border_color = "gray",
         cluster_row = FALSE,
         cluster_col = FALSE,
         display_numbers = FALSE,
         number_format = "%1.0f",
         number_color = "black",
         #MAC&#26085;&#26412;&#35486;&#25991;&#23383;&#21270;&#12369;&#38450;&#27490;
         #fontfamily = "HiraKakuProN-W3",
         fontsize_col = 10,
         fontsize_row = 8)
########

###Base&#12391;Plot#####
#MAC&#26085;&#26412;&#35486;&#25991;&#23383;&#21270;&#12369;&#38450;&#27490;
#par(family = "HiraKakuProN-W3")
#&#12503;&#12525;&#12483;&#12488;&#12398;&#38936;&#22495;&#30906;&#20445;
par(mar = c(3, 4, 2, 10))
#&#12475;&#12523;&#33394;&#12398;&#35373;&#23450;
CellCol <- colorRampPalette(c("#4b61ba", "#505457", "#a87963"))(10)
#&#12498;&#12540;&#12488;&#12510;&#12483;&#12503;&#12398;&#25551;&#20889;,&#12479;&#12452;&#12488;&#12523;&#12418;&#12371;&#12371;&#12391;&#35373;&#23450;
image(x = 1:ncol(ReadData), y = 1:nrow(ReadData), z = t(as.matrix(ReadData)),
      axes = FALSE, ylab = "", xlab = "", main = "TEST TITLE",
      col = CellCol)
#X&#36600;&#12398;&#35373;&#23450;
axis(side = 1, 1:ncol(ReadData), colnames(ReadData), -.8,
     las = 2, cex.axis = 1, tick = FALSE)
#Y&#36600;&#12398;&#35373;&#23450;
axis(side = 4, 1:nrow(ReadData), rownames(ReadData), -.8,
     las = 1, cex.axis = 0.55, tick = FALSE)
#&#12475;&#12523;&#12398;&#32232;&#12415;&#12363;&#12369;&#35373;&#23450;
grid(nx = ncol(ReadData), ny = nrow(ReadData), 
     col = "lightgray", lty = "solid", lwd = 1.2)
#&#34920;&#31034;&#38936;&#22495;&#12434;&#20803;&#12395;&#25147;&#12377;
par(mar = c(5, 4, 4, 2))
########

出力結果

・pheatmapパッケージ

pheatmap

・ヒートマップを描写するコマンド

BaseHeat

少しでも、あなたの解析が楽になりますように!!

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