2015-04-02 66 views
0

我试图根据this教程构建“热图”。我data.frame看起来是这样的:R热图 - 请求可视化与所有变量的相关性

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(用黄色标出)时,热图上的结果是相同的(都是强红色的)。我假设热图在几个月的时间内显示与特定“搜索引擎”相关的颜色,而不是所有其他搜索引擎。那么我怎样才能以这样的方式设置热图,即颜色结果将与所有其他搜索引擎相对?我期待在三月看到红色的冰彩。

回答

1

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

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 on columns

这里是规模= “无”: scale on none

+0

做的绝招,谢谢 – adhg 2015-04-02 14:58:04