二进制R热图仍然显示渐变

时间:2013-09-13 23:49:40

标签: r heatmap

我正在尝试为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

我觉得这是因为我对默认距离和聚类功能如何重新排序数据缺乏了解。我该如何解释这些结果?

1 个答案:

答案 0 :(得分:9)

正如@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") 

enter image description here