首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R heatmap.2 in gplots -当树状图通过时,无法复制该图:

R heatmap.2 in gplots -当树状图通过时,无法复制该图:
EN

Stack Overflow用户
提问于 2013-11-11 10:50:13
回答 2查看 421关注 0票数 1

我正在尝试通过heatmap.2生成一个图,但我想了解集群是如何完成的。因此,我尝试在函数调用之前复制树状图,并用它们绘制。然而,最终的数字是不同的。有什么线索吗?

热图1:

代码语言:javascript
复制
h<-heatmap.2(dat,col=redgreen, trace="none",
          xlab="Samples", ylab="Genes" ,scale="none" )

热图2:

代码语言:javascript
复制
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" )

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

EN

回答 2

Stack Overflow用户

发布于 2013-11-11 16:07:07

试一试

代码语言:javascript
复制
Rowv <- as.dendrogram(hclust(dist(X)))

也许as.dendrogram在这里起到了作用。R仍然是一团糟^W^W对我来说是个谜。

票数 0
EN

Stack Overflow用户

发布于 2016-05-06 01:41:13

我来晚了,不过我会尽力的。我不知道heatmap.2,但是默认情况下heatmap会对树状图进行重新排序。

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

代码语言:javascript
复制
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 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19898083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档