9

我正在尝试为 R 中的二进制数据矩阵(11 x ~1500)绘制热图。

heatmap(y, col = hmcols);

矩阵 'y' 看起来像这样

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
[1,]    0    0    0    0    1    1    1    1    1     1     1     1     1
[2,]    0    0    1    0    0    1    0    0    0     0     0     0     1
[3,]    0    0    0    0    0    1    1    1    1     0     0     1     1 ...etc...

我正在使用默认的距离和聚类函数,但由于某种原因,我的热图显示了颜色渐变。我也尝试过使用二进制距离函数,尽管会发生类似的渐变。这是由于每个样本之间的距离而导致样本缺乏相似性吗?这是热图的图像:

https://www.dropbox.com/s/jz1r41lhnrkisvz/Rplots.pdf

我觉得这是由于我对默认距离和聚类函数如何重新排序数据缺乏了解。我如何解释这些结果?

4

1 回答 1

15

正如@Joran 所指出的那样,这个scale论点是可以接受的:

(注意:我降低了维度并生成了随机数据,因为您没有提供完整的集合)

颜色由 选择col,如果你想要简单的黑色和白色,你可以这样做col = c("black", "white"),但你也可以让事情变得更有趣:

x <- matrix(sample(c(0, 1), 15*15, replace = TRUE), nrow = 15)
heatmap(x, scale = "none", Rowv = NA, Colv = NA, col = cm.colors(2), main = "HeatMap Example") 

在此处输入图像描述

于 2015-03-26T13:58:40.763 回答