heatmap
位于 stats
包(package)。 说明
热图是一个假彩色图像(本质上是 image(t(x))
),在左侧和顶部添加了树状图。通常,根据树状图施加的限制内的某些值集(行或列平均值)对行和列进行重新排序。
用法
heatmap(x, Rowv = NULL, Colv = if(symm)"Rowv" else NULL,
distfun = dist, hclustfun = hclust,
reorderfun = function(d, w) reorder(d, w),
add.expr, symm = FALSE, revC = identical(Colv, "Rowv"),
scale = c("row", "column", "none"), na.rm = TRUE,
margins = c(5, 5), ColSideColors, RowSideColors,
cexRow = 0.2 + 1/log10(nr), cexCol = 0.2 + 1/log10(nc),
labRow = NULL, labCol = NULL, main = NULL,
xlab = NULL, ylab = NULL,
keep.dendro = FALSE, verbose = getOption("verbose"), ...)
参数
x |
要绘制的值的数字矩阵。 |
Rowv |
确定是否以及如何计算和重新排序行树状图。 |
Colv |
确定是否以及如何对列树状图重新排序。与上面的 |
distfun |
用于计算行和列之间的距离(相异度)的函数。默认为 |
hclustfun |
当 |
reorderfun |
|
add.expr |
调用 |
symm |
逻辑指示 |
revC |
逻辑指示列顺序是否应为 |
scale |
指示值是否应在行方向或列方向上居中和缩放的字符,或者不居中。如果 |
na.rm |
逻辑指示是否应删除 |
margins |
长度为 2 的数值向量,分别包含列名和行名的边距(请参阅 |
ColSideColors |
(可选)长度为 |
RowSideColors |
(可选)长度为 |
cexRow, cexCol |
正数,用作行或列轴标签中的 |
labRow, labCol |
带有要使用的行和列标签的字符向量;这些默认分别为 |
main, xlab, ylab |
主、x 轴和 y 轴标题;默认为无。 |
keep.dendro |
逻辑指示是否应将树状图保留为结果的一部分(当 |
verbose |
逻辑指示是否应打印信息。 |
... |
传递给 |
细节
如果 Rowv
或 Colv
是树状图,则它们将被尊重(并且不会重新排序)。否则,树状图计算为 dd <- as.dendrogram(hclustfun(distfun(X)))
,其中 X
是 x
或 t(x)
。
如果其中之一是向量(‘weights’),则在行情况下,根据提供的值对适当的树状图进行重新排序,该值受到树状图施加的约束,由 reorder(dd,
Rowv)
施加。如果默认情况下缺少其中一个,则相应树状图的排序将按行/列的平均值进行,即,在行的情况下为 Rowv <- rowMeans(x, na.rm = na.rm)
。如果其中之一是 NA
,则不会对相应的一侧进行重新排序。
默认情况下 ( scale = "row"
),行被缩放为均值为零和标准差为一。基因组绘图的一些经验证据表明这是有用的。
值
隐形的组件列表
rowInd |
|
colInd |
列索引排列向量。 |
Rowv |
行树状图;仅当输入 |
Colv |
柱树图;仅当输入 |
注意
除非 Rowv = NA
(或 Colw = NA
),否则原始行和列在任何情况下都会重新排序以匹配树状图,例如, order.dendrogram(Rowv)
的行,其中 Rowv
是(可能是 reorder()
ed)行树状图。
heatmap()
使用 layout
并在 2x2 布局的右下角绘制 image
。因此,它不能用于多列/行布局,即当调用par(mfrow = *)
或(mfcol = *)
时。
例子
require(graphics); require(grDevices)
x <- as.matrix(mtcars)
rc <- rainbow(nrow(x), start = 0, end = .3)
cc <- rainbow(ncol(x), start = 0, end = .3)
hv <- heatmap(x, col = cm.colors(256), scale = "column",
RowSideColors = rc, ColSideColors = cc, margins = c(5,10),
xlab = "specification variables", ylab = "Car Models",
main = "heatmap(<Mtcars data>, ..., scale = \"column\")")
utils::str(hv) # the two re-ordering index vectors
## no column dendrogram (nor reordering) at all:
heatmap(x, Colv = NA, col = cm.colors(256), scale = "column",
RowSideColors = rc, margins = c(5,10),
xlab = "specification variables", ylab = "Car Models",
main = "heatmap(<Mtcars data>, ..., scale = \"column\")")
## "no nothing"
heatmap(x, Rowv = NA, Colv = NA, scale = "column",
main = "heatmap(*, NA, NA) ~= image(t(x))")
round(Ca <- cor(attitude), 2)
symnum(Ca) # simple graphic
heatmap(Ca, symm = TRUE, margins = c(6,6)) # with reorder()
heatmap(Ca, Rowv = FALSE, symm = TRUE, margins = c(6,6)) # _NO_ reorder()
## slightly artificial with color bar, without and with ordering:
cc <- rainbow(nrow(Ca))
heatmap(Ca, Rowv = FALSE, symm = TRUE, RowSideColors = cc, ColSideColors = cc,
margins = c(6,6))
heatmap(Ca, symm = TRUE, RowSideColors = cc, ColSideColors = cc,
margins = c(6,6))
## For variable clustering, rather use distance based on cor():
symnum( cU <- cor(USJudgeRatings) )
hU <- heatmap(cU, Rowv = FALSE, symm = TRUE, col = topo.colors(16),
distfun = function(c) as.dist(1 - c), keep.dendro = TRUE)
## The Correlation matrix with same reordering:
round(100 * cU[hU[[1]], hU[[2]]])
## The column dendrogram:
utils::str(hU$Colv)
作者
Andy Liaw, original; R. Gentleman, M. Maechler, W. Huber, revisions.
也可以看看
相关用法
- R hclust 层次聚类
- R stlmethods STL 对象的方法
- R medpolish 矩阵的中值波兰(稳健双向分解)
- R naprint 调整缺失值
- R summary.nls 总结非线性最小二乘模型拟合
- R summary.manova 多元方差分析的汇总方法
- R formula 模型公式
- R nls.control 控制 nls 中的迭代
- R aggregate 计算数据子集的汇总统计
- R deriv 简单表达式的符号和算法导数
- R kruskal.test Kruskal-Wallis 秩和检验
- R quade.test 四方测试
- R decompose 移动平均线的经典季节性分解
- R plot.stepfun 绘制阶跃函数
- R alias 查找模型中的别名(依赖项)
- R qqnorm 分位数-分位数图
- R eff.aovlist 多层方差分析的计算效率
- R pairwise.t.test 成对 t 检验
- R loglin 拟合对数线性模型
- R predict.smooth.spline 通过平滑样条拟合进行预测
- R bartlett.test 方差齐性的 Bartlett 检验
- R influence.measures 回归删除诊断
- R loess.control 设置黄土参数
- R Normal 正态分布
- R summary.lm 总结线性模型拟合
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Draw a Heat Map。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。