以下代码
library("gplots")
mydata <- mtcars
hclustfunc <- function(x) hclust(x, method="complete")
distfunc <- function(x) dist(x,method="euclidean")
heatmap.2(as.matrix(mydata),dendrogram="row",trace="none", margin=c(8,9), hclust=hclustfunc,distfun=distfunc);
生成如下所示的热图:
请注意,在该图中,该列由函数
自动排序 cyl am vs carb wt drat gear gseq mpg hp dsp
我想要做的是创建相同的热图,但我个人 定义的列顺序:
cn <- c("wt","qsec","vs","am","gear","carb", "mpg","cyl","disp","hp","drat" )
我怎样才能做到这一点?
我尝试使用Colv
这样但失败了:
heatmap.2(as.matrix(mydata),Colv=cn,dendrogram="row",trace="none", margin=c(8,9), hclust=hclustfunc,distfun=distfunc);
答案 0 :(得分:16)
我同意帮助页面并不完全清楚,但经过一些实验后,我发现您可以使用FALSE阻止列排序并在输入时对列进行排序。在看到这种情况之后,帮助页面在任何方面都没有错。
heatmap.2(as.matrix(mydata[,cn]), Colv=FALSE,
dendrogram="row",trace="none", margin=c(8,9),
hclust=hclustfunc,distfun=distfunc)