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