Skip to content

question about function heatmap

3 messages · Waverley @ Palo Alto, Uwe Ligges, Chris Campbell

#
Hi,

I am using the function heatmap(stats) to draw a microarray heatmap,
columns are samples and rows are gene features.

I did a 2D clustering during the heatmap drawing.  The features and
samples indeed cluster into several blocks both vertically and
horizontally.

I can get the index of re-ordered rows and columns after the heatmap
drawing by typing the the return variable of the heatmap function.
However, I cannot  separate these index by the the dendro tree. All
the indexes labeled at the bottom and right of the plot all jammed
together.  I cannot by looking at the plot to find where the borders
are.

Can someone help?  Essentially I want the dendro tree of the genes
which are grouped after the clustering so that, e.g., I want to check
whether genes clustered together are in the same pathway etc.

Thanks in advance.
#
Copied form the R-help messages' footer:

PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Uwe Ligges
Waverley @ Palo Alto wrote:
#
On Tue, Nov 17, 2009 at 17:03, Waverley @ Palo Alto
<waverley.paloalto at gmail.com> wrote:
The heatmap function does not return the full clustering information.
If you look in the help, you'll see that the rows and columns are
reordered by:
dd <- as.dendrogram(hclustfun(distfun(X)))
so you need to run your own clustering separately:

x <- matrix(rnorm(100),ncol=10,dimnames=list(paste("gene",1:10),paste("sample",1:10)))
x.hclust <- hclust(dist(x))
plot(as.dendrogram(x.hclust))
x.ident <- rect.hclust(x.hclust,k=2)
x.ident

To get the sample clusters, transpose the matrix for the distance calculation.