[BioC] tree manipulation

Thomas Girke thomas.girke at ucr.edu
Wed May 12 01:56:21 CEST 2010


Try:

?dendrapply

Thomas

On Wed, May 12, 2010 at 12:34:11AM +0200, Wolfgang Huber wrote:
> On 11/05/10 14:49, Anthony Ferrari wrote:
> >Hi all,
> >
> >Does exist a package  that allows one to recursively apply a custom 
> >function
> >to nodes in a binary tree (from hclust) from leaves to the root ?
> >A kind of "tree_apply" ?
> >Ideally, after that, we could easily retrieve the value of the function at
> >each node and the leaves IDs under that node.
> >
> >Thank you.
> >
> >AF
> >
> >
> 
> Dear Anthony,
> 
> /* this would be better for R-help.... */
> 
> perhaps there is already a solution out there, but the task is so simple 
> that you may not need a package.
> 
> For trees that are represented as lists of lists, something like the 
> below code example would work.
> 
> For the representation used by hclust, you could write a similar 
> function that loops over the rows of the "merge" matrix (see the hclust 
> man page).
> 
> 
> tree = list(a = list( A=1,  B=2),
>             b = list( A=list(x=3, y=4, z=5),
>                       B=list(x=6, y=7),
>                       C=8),
>             c = 9)
> 
> traverse = function(x, f)
>   if (is.list(x)) lapply(x, traverse, f=f) else f(x)
> 
> traverse(tree, f=function(x) x+1)
> 
> 
> 
> 
> Wolfgang Huber
> EMBL
> http://www.embl.de/research/units/genome_biology/huber
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: 
> http://news.gmane.org/gmane.science.biology.informatics.conductor
>



More information about the Bioconductor mailing list