R heatmap.2 in gplots - 在通过树状图时无法复制图:

时间:2013-11-11 02:50:13

标签: r cluster-analysis heatmap

我试图通过heatmap.2生成一个图,但是想了解集群是如何完成的。所以,我试图在函数调用之前复制树形图,并用这些绘图。但是,最终数字不同。任何线索?

HEATMAP 1:

h<-heatmap.2(dat,col=redgreen, trace="none",
          xlab="Samples", ylab="Genes" ,scale="none" )

VS。

HEATMAP 2:

Rowv <- hclust( dist(dat))   #defaults to  method="euclidean" and method="complete") 
Colv <- hclust(dist(t(dat))) #same as above

heatmap.2(dat, Rowv=as.dendrogram(Rowv), Colv=as.dendrogram(Colv),
          col=redgreen, trace="none",
          xlab="Samples", ylab="Genes",scale="none" )

这两个会生成不同的热图。有什么线索的原因?

2 个答案:

答案 0 :(得分:0)

尝试

Rowv <- as.dendrogram(hclust(dist(X)))

也许as.dendrogram在这里有所作为。 R仍然是一团糟^ W ^ W对我来说是一个谜。

答案 1 :(得分:0)

我已经很晚了,但我会试试。我不知道heatmap.2,但是热图默认重新排序树形图。

要获得与未提供预先计算的树形图时得到的结果完全相同的结果,您必须说(对于行树形图):

Rowv <- hclust( dist(dat))
Rowv <- reorder(as.dendrogram(Rowv), rowMeans(dat)) # reorder by the row means of dat <br/>

heatmap(dat, Rowv=Rowv, Colv=Colv=as.dendrogram(Colv),col=redgreen, trace="none",xlab="Samples", ylab="Genes",scale="none" ) 
# leaving everything else as in your original message