Message-ID: <BE216486E4154040BF783AE5DAAA3ED401C2D1AB@SRVEXCH1.cnio.es>
Date: 2005-12-12T20:15:06Z
From: Ramon Diaz-Uriarte
Subject: dendrogram: how to obtain leaf height
Dear All,
How can the height of a leaf be extracted from a dendrogram?
Sure, I can print it, but I am not able to, say, store it in an object. I think I understand that the height is a property of the split, not the leaf itself, but the printing functions display a "height" or "h" (which changes with "hang") and that is what I want. Obviously, the info is there (e.g., "str(dendrogram)"), I just don't see how to obtain it as I want.
hc <- hclust(dist(USArrests), "ave")
hcd <- as.dendrogram(hc, hang = 0.001)
dendrapply(rev(hcd), hnode)
## None of the following work as I want
hnode <- function(x) {
## nothing
if (is.leaf(x))
print(x$height)
}
hnode <- function(x) {
## just prints
if (is.leaf(x))
print(x)
else
NULL
}
hnode <- function(x) {
## doesn't work either
if (is.leaf(x))
strsplit(as.character(x), " ")[6]
else
NULL
}
hnode <- function(x) {
## prints; no storing
if (is.leaf(x))
print(x)
else
NULL
}
hnode <- function(x) {
## prints; no storing
if (is.leaf(x))
x
else
NULL
}
Thanks,
R.
--
Ramon Diaz-Uriarte
Bioinformatics Unit
Spanish National Cancer Centre (CNIO)
http://ligarto.org/rdiaz
**NOTA DE CONFIDENCIALIDAD** Este correo electr??nico, y en s...{{dropped}}