I suggest calling min(tree$edge.length) on any tree you plan to use for comparative methods, including the one you're having trouble with Rafael. If you get a negative value, then something is really funny and you need to solve it. If you get a zero then various comparative methods will throw errors, but it's not the end of the world--there are workarounds. If neither of these things is true, and the tree is still returning FALSE to is.ultrametric, then assuming the tree is supposed to be ultrametric, it's almost certainly a tolerance thing (which you can check directly by tweaking the tol method in the is.ultrametric function). In that case, I've had good experiences using the phangorn/phytools approach to force the tree ultrametric.
Eliot On Thu, May 3, 2018 at 5:08 PM, Liam J. Revell <liam.rev...@umb.edu> wrote: > Just to clarify, force.ultrametric is not a formal rate-smoothing method > or anything like that. It is intended only for use to resolve numerical > precision issues such as the one raised in this thread. > > Liam J. Revell, Associate Professor of Biology > University of Massachusetts Boston > & Profesor Asociado, Programa de Biología > Universidad del Rosario > web: http://faculty.umb.edu/liam.revell/ > > On 5/3/2018 4:21 PM, Theodore Garland wrote: > >> I'll just add that it is always a really good idea to view the trees you >> (think you) are using, not just rely on the variance-covariance matrices >> derived from them and used in PGLS analyses, etc. Several times when I was >> compiling trees and data from the literature authors sent me tree files >> (e.g., Nexus) that did not match what they showed in a paper or described >> in the methods. Sometimes this was because the default display in Mesquite >> is NOT "branches proportional to lengths," but I am sure potentially >> misleading displays occur in some other programs as well. >> >> If one does force a tree to become ultrametric, then make sure you >> provide that tree and the original in the Online Supplemental Material or >> whatever, and clearly say what you did. >> >> Cheers, >> Ted >> >> >> >> Theodore Garland, Jr., Distinguished Professor >> >> Department of Evolution, Ecology, and Organismal Biology (EEOB) >> >> University of California, Riverside >> >> Riverside, CA 92521 >> >> Office Phone: (951) 827-3524 <tel:%28951%29%20827-3524> >> >> Facsimile: (951) 827-4286 <tel:%28951%29%20827-4286> (not confidential) >> >> Email: tgarl...@ucr.edu <mailto:tgarl...@ucr.edu> >> >> http://www.biology.ucr.edu/people/faculty/Garland.html >> >> http://scholar.google.com/citations?hl=en&user=iSSbrhwAAAAJ >> >> >> Director, UCR Institute for the Development of <http://idea.ucr.edu/ >> >Educational Applications <http://idea.ucr.edu/> >> >> >> Editor in Chief, /Physiological and Biochemical Zoology < >> http://www.press.uchicago.edu/ucp/journals/journal/pbz.html>/ >> >> >> Fail Lab: Episode One >> >> _https://www.youtube.com/watch?v=c0msBWyTzU0_ >> >> >> On Thu, May 3, 2018 at 1:09 PM, Liam J. Revell <liam.rev...@umb.edu >> <mailto:liam.rev...@umb.edu>> wrote: >> >> I haven't been closing following this thread, so I'm not sure that >> this is relevant - but phytools has a function called >> 'force.ultrametric' (I believe) that does precisely what its name >> suggests it might. >> >> Liam J. Revell, Associate Professor of Biology >> University of Massachusetts Boston >> & Profesor Asociado, Programa de Biología >> Universidad del Rosario >> web: http://faculty.umb.edu/liam.revell/ >> <http://faculty.umb.edu/liam.revell/> >> >> On 5/3/2018 3:34 PM, David Bapst wrote: >> >> Hmm. I hope that isn't the case - branching.times() is used pretty >> widely in ape-dependent packages for getting node ages from dated >> ultrametric trees, and if such minimally non-ultrametric trees can >> cause branching.times throw negative node ages, then I'm really >> concerned what impact that might have elsewhere in the R-phylo >> universe. >> -Dave >> >> On Wed, May 2, 2018 at 2:30 PM, Brian O'Meara <bome...@utk.edu >> <mailto:bome...@utk.edu>> wrote: >> >> On Wed, May 2, 2018 at 2:53 PM, David Bapst >> <dwba...@tamu.edu <mailto:dwba...@tamu.edu>> wrote: >> >> >> Given that your tree appears to be non-ultrametric >> enough to cause >> branching.times to throw some nonsensical node ages, if >> it is supposed >> to be ultrametric. I recommend checking it carefully to >> figure out why >> the tips seem to not quite be at the same distance from >> the root. >> >> >> Sometimes this happens with tree import from a file -- it >> could be a newick >> tree with branch lengths precise to the hundredths but a lot >> of the R >> ultrametric tests by default use higher precision (1e-08, >> iirc). >> >> Best, >> Brian >> >> >> >> >> >> _______________________________________________ >> R-sig-phylo mailing list - Rfirstname.lastname@example.org >> <mailto:Remail@example.com> >> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo >> <https://stat.ethz.ch/mailman/listinfo/r-sig-phylo> >> Searchable archive at >> http://firstname.lastname@example.org/ >> <http://email@example.com/> >> >> >> [[alternative HTML version deleted]] _______________________________________________ R-sig-phylo mailing list - Rfirstname.lastname@example.org https://stat.ethz.ch/mailman/listinfo/r-sig-phylo Searchable archive at http://email@example.com/