Rとウェブ解析:ggplot2でプロットするヒートマップ「gapmap」パッケージ


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) 

出力例


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

スポンサードリンク

スポンサードリンク