R热图 - 请求与所有变量相关的可视化

时间:2015-04-02 14:35:10

标签: r heatmap

我正在尝试根据this教程构建“热图”。我的data.frame看起来像这样:

enter image description here

,结果如下:

enter image description here

代码:

row.names(data) <-data$X)
data<-data[,2:5]
data_matrix<-data.matrix(data)
heat_result<-heatmap(data_matrix, Rowv=NA, Colv=NA, col = heat.colors(256), scale="column", margins=c(5,10))

我的问题是:如果你看看3月份Bing和百度的data.frame(标有黄色),热图上的结果是相同的(都是强烈的红色)。我假设热图显示了几个月内特定“搜索引擎”的颜色,而不是所有其他搜索引擎。那么如何设置热图以使颜色结果相对于所有其他搜索引擎呢?我希望在3月看到红色的颜色Bing。

1 个答案:

答案 0 :(得分:2)

您可以使用scale参数更改缩放比例。将其更改为“无”将阻止在绘制颜色之前在列上重新缩放。下面的最后一行代码就是你想要的。

https://stat.ethz.ch/R-manual/R-devel/library/stats/html/heatmap.html

set.seed(42)

#uniform sampling, b is much larger than a
a = runif(10,1,10)
b = runif(10,10,100)

data = as.matrix(cbind(a,b))

#scale across columns
heatmap(data, Rowv=NA, Colv=NA, col = heat.colors(256), scale="column", margins=c(5,10))

#color across whole dataset.
heatmap(data, Rowv=NA, Colv=NA, col = heat.colors(256), scale="none", margins=c(5,10))

图片:

这是scale =“column”: scale on columns

这是scale =“none”: scale on none