ggplot2で非常に簡単にヒートマップを作成することができるパッケージの紹介です。ggplot2に慣れている方は非常に使いやすいと思います。
パッケージのバージョンは0.1.0。実行コマンドはwindows 11のR version 4.1.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
install.packages("gapmap")
実行コマンド
距離計算にはpearsonも使用できるamapライブラリを使用しています。また、hclustのmethodには”ward.D”, “ward.D2”, “single”, “complete”, “average” (= UPGMA), “mcquitty”, “median”, “centroid”が使用できます。また、多くのカラーパレットを使用できるRColorBrewerライブラリを使用しています。
詳細はコメント、パッケージヘルプを確認してください。
#パッケージの読み込み
library("gapmap")
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
#amapパッケージがなければインストール
if(!require("amap", quietly = TRUE)){
install.packages("amap");require("amap")
}
#RColorBrewerパッケージがなければインストール
if(!require("RColorBrewer", quietly = TRUE)){
install.packages("RColorBrewer");require("RColorBrewer")
}
###データ例を作成#####
set.seed(1234)
dataFrame <- tibble(x = rnorm(10, mean = rep(1:5, each = 2), sd = 0.4),
y = rnorm(10, mean = rep(c(1,2), each = 5), sd = 0.4),
row.names = c(1:10))
#距離の計算
distxy <- Dist(dataFrame, method = "pearson")
#結合の設定
hc <- hclust(distxy, method = "complete")
#デンドログラムデータへの変換
dend <- as.dendrogram(hc)
#セルの色
grey_scale = brewer.pal(7, "Greens")
########
#プロット:gapmapコマンド
#以下のWarning messagesが表示されるが問題ないようです
#`panel.margin` is deprecated. Please use `panel.spacing` property instead
gapmap(m = as.matrix(distxy), d_row = rev(dend),
d_col = dend, col = grey_scale, show_legend = TRUE)
出力例
少しでも、あなたの解析が楽になりますように!!