[R-sig-phylo] Independent Contrasts

Emmanuel Paradis Emmanuel.Paradis at mpl.ird.fr
Tue Feb 5 11:18:23 CET 2008

Yorick Reyjol wrote:
> Dear all,
> I am currently trying to generate independent 
> contrasts using package APE. However, I meet 
> several problems which I'm not sure how to face 
> and would require some help. I am not a 
> phylogenetician (only an ecologist!) so may be 
> some of my questions will not be appropriately formulated. Please forgive me.
> 1) My phylogenetic tree has a multichotomy in its 
> root. Therefore, I am not able to specify a root 
> except if I discard one of the two species 
> constituting the multichotomy. I have tried to 
> use the function multi2di(tree, random=TRUE) to 
> resolve the multichotomy and then tried to root 
> my tree with function root(), but even if the 
> multichotomy seems to have been resolved:
> before multi2di(): Phylogenetic tree with 191 
> tips and 189 internal nodes. Unrooted
> after multi2di(): Phylogenetic tree with 191 tips 
> and 190 internal nodes. Rooted.
> the function root() still generates this error message:

You shouldn't root() after using multi2di.

> Erreur dans root(tree, outgroup) :
>    the specified outgroup is not monophyletic!
> Moreover, I don't understand why my tree has 
> become rooted after multi2di() was used, and 
> which root was automatically chosen. Does somebody have an idea?

Suppose you have a tree (A,B,C); multi2di(, random=TRUE) will generate 
these three trees (with equal probability):


All these are _rooted_ because the "root" is a node of degree 2, and so 
can be considered unambiguously as such. On the other hand, the root of 
the original tree is a node of degree 3.

> 2) When I try to use the pic() function with an 
> unrooted tree, some contrasts are generated, but 
> numerous NaN and -Inf values are generated. As I 
> believe, may this be related to the 
> multichotomies I have in my tree? If yes, how is 
> it possible that function multi2di() used at the 
> previous step did not solve this problem?

pic() should work only if the tree is rooted and binary (ie, 
dichotomous). So I guess you missed a point here.

> 3) How should I do if I want to use only a 
> sub-part of my tree to generate contrasts (for 
> example if I have 100 species in my dataset and 
> in my tree, but only information regarding 75 of 
> them for species traits). Would the use of 
> drop.tip() function allow me to keep the global 
> tree topology but for a subset of species?



> Many thanks for your help,
> Cheers,
> Yorick
> What should I do? Does somebody already met the same problem?

More information about the R-sig-phylo mailing list