[R] dendrogram: how to obtain leaf height
Diaz.Ramon
rdiaz at cnio.es
Mon Dec 12 21:15:06 CET 2005
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}}
More information about the R-help
mailing list