【发布时间】:2017-05-08 13:06:08
【问题描述】:
我正在尝试使用我的数据制作热图,但很难正确编码。
我的矩阵充满了 log(x+1) 值,这样我就不会遇到 log(0) 错误但是由于我的数据的性质,我有一堆 0 值,它们掩盖了热图的任何趋势可能会显示。因此,我想将任何 0 值着色为灰色或黑色,然后将其余数据沿蓝-白-红光谱着色。
这是我正在使用的编码,
RHeatmap <- read.delim("~/Desktop/RHeatmap.txt", row.names=1, stringsAsFactors = FALSE)
my_palette <- colorRampPalette(c("blue", "white", "red")) (n=20)
RHeatmap.matrix <- as.matrix(RHeatmap)
RHeatmap.matrix[RHeatmap.matrix==0]=NA
heatmap.2(RHeatmap.matrix,trace="none",col = my_palette, margins = c(5,1),scale = "none", symbreaks = FALSE, Colv=TRUE, dendrogram="both",lwid=c(1.5,2.0))
在网上寻找如何为 0 值分配单独的颜色时,我注意到人们将它们分配为 N.As,然后可以将其编码为某种颜色。问题1:我该怎么做?
【问题讨论】:
-
是的,您确实可以将所有零值转换为
NA,然后使用na.color参数分别为它们着色。看看this answer。
标签: r heatmap missing-data