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)
出力例
少しでも、あなたの解析が楽になりますように!!