Rで解析:ヒートマップの描写が面白い「superheat」パッケージ

Rの解析に役に立つ記事

Rにはヒートマップを描写するパッケージが多くあります。からだにいいものでも紹介していますが、本パッケージは細かい体裁が調整可能です。大変オプションが多いので、実行コマンド内では紹介しきれませんでした。表で紹介しますので参考にしてください。

パッケージバージョンは0.1.0。windows11のR version 4.1.2で確認しています。

スポンサーリンク
スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("superheat")

実行コマンドの紹介

詳細はコマンド内を確認ください。

#パッケージの読み込み
library("superheat")

###データ例の作成#####
n <- 10
TestData <- data.frame(Group = sample(paste0("ID", 1:3),
                                      n, replace = TRUE),
                       Data1 = rnorm(n),
                       Data2 = rnorm(n) + rnorm(n) + rnorm(n),
                       Data3 = rnorm(n) * rnorm(n),
                       Data4 = rnorm(n) * rnorm(n))
########

superheat(X = TestData[, -c(1, 5)],
          #X.text = TextData,
          yt = base::apply(TestData[, -c(1, 5)], 2, mean),
          yr = TestData[, 2],
          #membership.rows = TestData$Group,
          n.clusters.rows = 2,
          #n.clusters.cols = 2,
          clustering.method = "kmeans",
          left.label = "variable",
          bottom.label = "variable",
          #heat.col.scheme = "green",
          heat.pal = c(low = "#4b61ba", high = "#a87963"),
          X.text.size = 3,
          X.text.col = "black",
          yt.plot.type = "bar",
          yr.plot.type = "boxplot",
          legend = TRUE,
          legend.height = 0.1,
          legend.width = 1.2,
          legend.text.size = 12,
          smoothing.method = c("loess", "lm"),
          yt.num.ticks = 5,
          yr.num.ticks = 3,
          yt.plot.size = 0.3,
          yr.plot.size = 0.3,
          yt.axis.name = "yt LABEL",
          yr.axis.name = "yr LABEL",
          yt.axis.size = 8,
          yr.axis.size = 10,
          yt.axis.name.size = 8,
          yr.axis.name.size = 8,
          yt.axis.name.angle = 0,
          yr.axis.name.angle = NULL,
          yt.obs.col = c("#505457", "#4b61ba", "#a87963"),
          yr.cluster.col = c("#505457", "#a87963"),
          bottom.label.text.size = 4,
          left.label.text.size = 3,
          bottom.label.text.angle = NULL,
          left.label.text.angle = 45,
          bottom.label.size = 0.1,
          left.label.size = 0.1,
          left.label.col = c("#505457", "#a87963"),
          bottom.label.col = c("#505457", "#4b61ba", "#a87963"),
          bottom.label.text.col = NULL,
          left.label.text.col = "red",
          row.title = "ID",
          row.title.size = 5,
          padding = 1,
          title = "TEST",
          title.size = 5)

パッケージオプション

他のオプションはパッケージヘルプを参照ください。

オプション内容初期値
Xプロットデータ-
X.textmatrix classで指定,各セル表示テキストNULL
yt上にデータをプロット,データ数は列数と同じNULL
yr右にデータをプロット,データ数は行数と同じNULL
membership.rows指定した列に基づきデータを分類,X.textと同時に使用不可?NULL
n.clusters.rowsclustering.methodの手法で指定した数に行を分割,X.textと同時に使用不可?NULL
n.clusters.colsclustering.methodの手法で指定した数に列を分割,X.textと同時に使用不可?NULL
clustering.methodn.clusters.rows,n.clusters.cols適応時に指定した方法を適用,kmeansおよびhierarchicalが適応可能kmeans
left.labelヒートマップ左ラベル,noneで非表示variable
bottom.labelヒートマップ下部ラベル,noneで非表示variable
heat.col.schemeセル色,"red", "purple", "blue", "grey", "green"が指定可能red
heat.palセル色,c(low = "色名", high = "色名"で指定,heat.col.scheme同時に使用不可NULL
X.text.sizeセル内テキストラベルサイズ5
X.text.colセル内テキスト色black
yt.plot.type上部プロット内容,"scatter", "bar", "boxplot", "scattersmooth", "smooth", "scatterline", "line"が指定可能scatter
yr.plot.type右部プロット内容,"scatter", "bar", "boxplot", "scattersmooth", "smooth", "scatterline", "line"が指定可能
legendヒートマップのスケール表示,TRUEまたはFALSE1
smoothing.methodプロット内容に "scattersmooth", "smooth"指定時の手法,"loess", "lm"loess
yt.num.ticks上部プロットのy軸区切り数3
yr.num.ticks右部プロットのy軸区切り数3
yt.plot.size上部プロットの大きさ0.3
yr.plot.size右部プロットの大きさ0.3
yt.axis.name上部プロット軸ラベルNULL
yr.axis.name右部プロット軸ラベルNULL
yt.axis.size上部プロット軸テキストサイズ10
yr.axis.size右部プロット軸テキストサイズ10
yt.axis.name.size上部プロット軸ラベルサイズ10
yr.axis.name.size右部プロット軸ラベルサイズ10
yt.axis.name.angle上部プロット軸ラベルの回転NULL
yr.axis.name.angle右部プロット軸ラベルの回転NULL
yt.obs.col上部プロットシンボルの色を設定,要素分の指定が必要
obs部分はcluster,bar,point,lineの指定が可能
NULL
yr.obs.col右部プロットシンボルの色を設定,要素分の指定が必要
obs部分はcluster,bar,point,lineの指定が可能
NULL
bottom.label.text.sizeヒートマップ下部ラベルサイズ5
left.label.text.sizeヒートマップ左部ラベルサイズ5
bottom.label.text.angleヒートマップ下部ラベルの回転NULL
left.label.text.angleヒートマップ左部ラベルの回転NULL
bottom.label.sizeヒートマップ下部ラベルエリア0.2
left.label.sizeヒートマップ左部ラベルエリア0.2
bottom.label.text.colヒートマップ下部ラベル色NULL
left.label.text.colヒートマップ左部ラベル色NULL
column.title列名を指定NULL
row.title行名を指定NULL
titleプロットタイトルNULL

出力例


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

タイトルとURLをコピーしました