[R] dendrogram: how to obtain leaf height

From: Diaz.Ramon <rdiaz_at_cnio.es>
Date: Tue 13 Dec 2005 - 07:15:06 EST


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}}

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Tue Dec 13 07:27:12 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:41:35 EST