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でプロット#####
#パッケージのインストール
install.packages("pheatmap")
#パッケージの読み込み
library("pheatmap")

#行名を修正
rownames(ReadData) <- ReadData[, 1]
ReadData <- ReadData[, -1]

#Macで文字化け防止
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日本語文字化け防止
         #fontfamily = "HiraKakuProN-W3",
         fontsize_col = 10,
         fontsize_row = 8)
########

###BaseでPlot#####
#MAC日本語文字化け防止
#par(family = "HiraKakuProN-W3")
#プロットの領域確保
par(mar = c(3, 4, 2, 10))
#セル色の設定
CellCol <- colorRampPalette(c("#4b61ba", "#505457", "#a87963"))(10)
#ヒートマップの描写,タイトルもここで設定
image(x = 1:ncol(ReadData), y = 1:nrow(ReadData), z = t(as.matrix(ReadData)),
      axes = FALSE, ylab = "", xlab = "", main = "TEST TITLE",
      col = CellCol)
#X軸の設定
axis(side = 1, 1:ncol(ReadData), colnames(ReadData), -.8,
     las = 2, cex.axis = 1, tick = FALSE)
#Y軸の設定
axis(side = 4, 1:nrow(ReadData), rownames(ReadData), -.8,
     las = 1, cex.axis = 0.55, tick = FALSE)
#セルの編みかけ設定
grid(nx = ncol(ReadData), ny = nrow(ReadData), 
     col = "lightgray", lty = "solid", lwd = 1.2)
#表示領域を元に戻す
par(mar = c(5, 4, 4, 2))
########

出力結果

・pheatmapパッケージ

pheatmap

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

BaseHeat

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

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