\name{compute.brtime} \alias{compute.brtime} \title{Compute and Set Branching Times} \description{ This function computes the branch lengths of a tree giving its branching times (aka node ages or heights). } \usage{ compute.brtime(phy, method = "coalescent", force.positive = NULL) } \arguments{ \item{phy}{an object of class \code{"phylo"}.} \item{method}{either \code{"coalescent"} (the default), or a numeric vector giving the branching times.} \item{force.positive}{a logical value (see details).} } \details{ By default, a set of random branching times is generated from a simple coalescent, and the option \code{force.positive} is set to \code{TRUE} so that no branch length is negative. If a numeric vector is passed to \code{method}, it is taken as the branching times of the nodes with respect to their numbers (i.e., the first element of \code{method} is the branching time of the node numbered \eqn{n + 1} [= the root], the second element of the node numbered \eqn{n + 2}, and so on), so \code{force.positive} is set to \code{FALSE}. This may result in negative branch lengths. To avoid this, one should use \code{force.positive = TRUE} in which case the branching times are eventually reordered. } \value{ An object of class \code{"phylo"} with branch lengths and ultrametric. } \author{Emmanuel Paradis} \seealso{ \code{\link{compute.brlen}}, \code{\link{branching.times}} } \examples{ tr <- rtree(10) layout(matrix(1:4, 2)) plot(compute.brtime(tr)); axisPhylo() plot(compute.brtime(tr, force.positive = FALSE)); axisPhylo() plot(compute.brtime(tr, 1:9)); axisPhylo() # a bit nonsense plot(compute.brtime(tr, 1:9, TRUE)); axisPhylo() layout(1) } \keyword{manip}