我使用来自R中heatmap.2
包的gplots
函数可视化数据集。基本上我正在对原始数据执行层次聚类分析,同时强制执行heatmap显示数据的有限版本(在-3和+3之间),以限制异常值对热图外观的影响,同时仍保留原始聚类。当我使用完整数据集(fullmousedatamat
)时,它工作得很好。但是,当我使用部分数据集(partialmousedatamat
),并希望使用与完整数据集相同的键绘制它时,从键中删除了几种颜色,我无法弄清楚为什么。
以下是包含相关数据集和分析的要点:
https://gist.github.com/jeffbruce/7412f567ac57fe1721a3
注意中心白色两侧的第4种颜色是如何掉落的。这对我来说可能是个错误。我收到以下警告信息,我不确定如何解释:
Warning message:
In image.default(z = matrix(z, ncol = 1), col = col, breaks = tmpbreaks, :
unsorted 'breaks' will be sorted before use
感谢您的帮助!
答案 0 :(得分:5)
我遇到了同样的问题,我不得不通过heatmap.2
的代码来解决这个问题。
事实证明,symkey=T
是默认值,会在breaks
的两端添加数据的极值,使其无法排序:
tmpbreaks <- breaks
if (symkey) {
max.raw <- max(abs(c(x, breaks)), na.rm = TRUE)
min.raw <- -max.raw
tmpbreaks[1] <- -max(abs(x), na.rm = TRUE)
tmpbreaks[length(tmpbreaks)] <- max(abs(x), na.rm = TRUE)
}
因此,解决此问题的简单方法是在您提供自己的休息时添加symkey=F
。