ggplot2を利用してヒートマップを描写するパッケージです。他のパッケージと比べ、行列に付与するカラーバーデータの描写が便利です。
参考までに、これまで「からだにいいもの」で紹介しているheatmap作成のパッケージのいくつかを紹介します。
・Rで解析:カレンダーをヒートマップ化。「openair」パッケージ
https://www.karada-good.net/analyticsr/r-261/
・Rで解析:インタラクティブなヒートマップ!D3.jsを利用した「d3heatmap」パッケージの紹介
https://www.karada-good.net/analyticsr/r-122/
・Rとウェブ解析:ggplot2でプロットするヒートマップ「gapmap」パッケージ
https://www.karada-good.net/analyticsr/r-28/
・Rとウェブ解析:簡単HeatMapパッケージ「pheatmap」の紹介
https://www.karada-good.net/analyticsr/r-68/
パッケージバージョンは1.1.4。実行コマンドはR version 3.2.2で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール install.packages("fheatmap")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み library("fheatmap") ###データ例の作成##### set.seed(1234) n <- 10 #データ分の空listを作成 TestData <- vector("list", n) for(i in seq(n)){ TestData[[i]] <- sample(1:5, n, replace = TRUE) } TestData <- data.frame(TestData) rownames(TestData) <- paste0("Group", seq(n)) colnames(TestData) <- paste0("Data", seq(n)) ######## #heatmapの描写 ###距離計算法を指定:cluster_distance_rows,cluster_distance_colsオプション #計算にはdistコマンドが使われています #設定可能な計算方法:euclidean(ディフォルト),maximum,manhattan, #canberra,binary,minkowski ######## ###クラスタリング法を指定:clustering_methodオプション #計算にはhclustコマンドが使われています #設定可能な計算方法:ward.D(ディフォルト),ward.D2,single, #complete,average,mcquitty,median,centroid ######## #タイルの色を設定:mat_colorオプション #基本的なplot fheatmap(TestData, title = "Test Heatmap", title_fontsize = 6, title_color = "red", title_fontface = "italic", #mat_color = c("green", "yellow","red"), cluster_distance_rows = "euclidean", cluster_distance_cols = "euclidean", clustering_method = "ward.D") #列側にカラーバーを追加:annotation_rowオプション #行側はannotation_colオプション ###追加データ例##### AddRowData <- data.frame(ChrData = sample(c("G1", "G2", "G3"), n, replace = TRUE), IntData = sample(1:3, n, replace = TRUE)) rownames(AddRowData) <- paste0("Group", seq(n)) ######## #列側にカラーバーを追加してplot fheatmap(TestData, annotation_row = AddRowData) #列側カラーバーの色を指定:annot_row_colorオプション #行側はannot_row_coloオプション #annotation_rowオプションと同じ行名にする ###追加データ例##### AddRowColData <- data.frame(ChrData = sample(c("yellow", "red", "black"), n, replace = TRUE), IntData = sample(NA, n, replace = TRUE))
出力例
・基本的なplot
・annotation_rowオプション
・annot_row_colorオプション
少しでも、あなたのウェブや実験の解析が楽になりますように!!