以下代码
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);
Run Code Online (Sandbox Code Playgroud)
生成如下所示的热图:

请注意,在该图中,该列由该函数自动排序
cyl am vs carb wt drat gear gseq mpg hp dsp
我想要做的是创建相同的热图,但使用我个人定义的列顺序:
cn <- c("wt","qsec","vs","am","gear","carb", "mpg","cyl","disp","hp","drat" )
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我尝试使用Colv这样但失败了:
heatmap.2(as.matrix(mydata),Colv=cn,dendrogram="row",trace="none", margin=c(8,9), hclust=hclustfunc,distfun=distfunc);
Run Code Online (Sandbox Code Playgroud)
42-*_*42- 17
我确实同意帮助页面并不完全清楚,但经过一些实验后我发现你可以使用FALSE阻止列排序并在输入时对列进行排序.在看到这种情况之后,帮助页面在任何方面都没有错.
heatmap.2(as.matrix(mydata[,cn]), Colv=FALSE,
dendrogram="row",trace="none", margin=c(8,9),
hclust=hclustfunc,distfun=distfunc)
Run Code Online (Sandbox Code Playgroud)