Hi Santiago,

The problem is that this function, birth.death(,,taxa.stop=X), simulates speciation and extinction under a Yule process until it gets to taxa=X and then stops, without adding any length to the branches leading to the last two taxa. This means that the distances from the root of the tree to taxa 9 & 10 and their common ancestor are all equal and the matrix returned by vcv.phylo() is exactly singular.

A solution is to simulate a tree with taxa=X+1 and then drop the last tip using the function drop.tip(). In your example this would be:

> solve(vcv.phylo(drop.tip(birthdeath.tree(1,0, taxa.stop=11),"11")));

This seems to work.

- Liam

Liam J. Revell
NESCent, Duke University
web: http://anolis.oeb.harvard.edu/~liam/
NEW email: lrev...@nescent.org



Santiago Claramunt wrote:
Hi all,

I'm having problems computing the inverse of the expected variance-covariance evolutionary matrix (C) on simulated trees generated with birthdeath.tree().

 solve(vcv.phylo(birthdeath.tree(1,0, taxa.stop=10)))

These matrices seem to be singular!
Matrices generated using rtree() and rcoal() are fine.

Any insights on this?

Cheers,

Santiago


Santiago Claramunt
Museum of Natural Science,
119 Foster Hall,
Louisiana State University,
Baton Rouge, LA70803
scla...@tigers.lsu.edu
http://www.museum.lsu.edu/Claramunt/Home.html

_______________________________________________
R-sig-phylo mailing list
R-sig-phylo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo

_______________________________________________
R-sig-phylo mailing list
R-sig-phylo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo

Reply via email to