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


ggplot2で図をプロットする方が多いと思います。しかし、本格的なヒートマップのプロットは工夫や他のパッケージを使う必要がある思います。今回、ggplot2の拡張パッケージ「gapmap」を見つけましたので紹介します。汎用性が高いパッケージです。ggplot2に慣れている方は非常に使いやすいかも。

ヒートマップをインタラクティブに操作する「d3heatmap」パッケージがあります。オススメです。

・Rで解析:インタラクティブなヒートマップ!D3.jsを利用した「d3heatmap」パッケージの紹介
 https://www.karada-good.net/analyticsr/r-122/


「gapmap」パッケージの導入

下記コードを実行することで導入することができます。
参考URL: http://cran.r-project.org/web/packages/gapmap/index.html

 #CRANからのインストール
 install.packages("gapmap")
 #ggplot2の導入がまだの場合は以下を実行
 #install.packages("ggplot2")

 #参考例で使用するamapとRColorBrewerをインストールは下記を実行
 #install.packages(c("amap", "RColorBrewer”))

ヒートマップのプロット

距離計算にはpearsonも使用できるamapライブラリを使用しています。また、hclustのmethodには”ward.D”, “ward.D2”, “single”, “complete”, “average” (= UPGMA), “mcquitty”, “median”, “centroid”が使用できます。また、多くのカラーパレットを使用できるRColorBrewerライブラリを使用しています。

library(gapmap)
library(amap)
library(RColorBrewer) #カラーパレットを使用する為に導入

set.seed(1234) #乱数の種を設定

###データを作成#####
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)
dataFrame <- data.frame(x = x, y = y, 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(m = as.matrix(distxy), d_row = rev(dend), d_col = dend, col = grey_scale,  show_legend=TRUE) #プロット

コード実行によるプロット

gapmap

少しでも、ウェブや実験の解析が楽になりますように!!
もし、不明点がありましたらこちらからお問い合わせください。

スポンサードリンク

おすすめコンテンツ


スポンサードリンク