[R] How to reproduce heatmap.2()'s result?

Peng Yu pengyu.ut at gmail.com
Sun Nov 22 02:37:34 CET 2009


I want to understand what heatmap.2() is exactly doing. So I tried the
following program. But the results by image() is still not the same as
the result by heatmap.2(). Could somebody let me know how to make both
results the same (in terms of the x and y axis label orders)?



#####################
set.seed(0)
m=10
n=40
x=replicate(n,rnorm(m))

rownames(x)=1:m
colnames(x)=1:n

dir.create('main', showWarnings=T)

ahclust=hclust(dist(x))
ahclustt=hclust(dist(t(x)))

png('main/image.png')

clustered_x=x[ahclust$order, ahclustt$order]

image(t(clustered_x),axes=F)
axis(side=1,at=seq(from=par()$usr[1],to=par()$usr[2],length=n),labels=colnames(clustered_x),las=2,cex.axis=.5)
axis(side=2,at=seq(from=par()$usr[3],to=par()$usr[4],length=m),labels=rownames(clustered_x),las=2,cex.axis=.5)

dev.off()

library(gplots)
png('main/heatmap.2.png')
heatmap.2(x,scale='none',trace='none')
dev.off()




More information about the R-help mailing list