]> git.donarmstrong.com Git - ape.git/blobdiff - man/yule.time.Rd
final warp for ape 3.0-2
[ape.git] / man / yule.time.Rd
index a6574b0ba8b64ee2ec8c4e532d3b3b072a15908c..be82f70159e623f07dec0f205a7de84347f80978 100644 (file)
@@ -38,18 +38,24 @@ yule.time(phy, birth, BIRTH = NULL, root.time = 0, opti = "nlm", start = 0.01)
   It is recommended to use \code{BIRTH} if possible, and required if
   speciation probability is constant on some time interval. If this
   primitive cannot be provided, a numerical integration is done with
-  \code{\link[base]{integrate}}.
+  \code{\link[stats]{integrate}}.
 
   The standard-errors of the parameters are computed with the Hessian of
   the log-likelihood function.
 }
 \value{
-  An object of class "yule" (see \code{\link{yule}}).
+  An object of class \code{"yule"} (see \code{\link{yule}}).
+}
+\author{Emmanuel Paradis}
+\references{
+  Hubert, N., Paradis, E., Bruggemann, H. and Planes, S. (2011) Community
+  assembly and diversification in Indo-Pacific coral reef
+  fishes. \emph{Ecology and Evolution}, \bold{1}, 229--277.
 }
-\author{Emmanuel Paradis \email{Emmanuel.Paradis@mpl.ird.fr}}
 \seealso{
   \code{\link{branching.times}}, \code{\link{ltt.plot}},
-  \code{\link{birthdeath}}, \code{\link{yule}}, \code{\link{yule.cov}}
+  \code{\link{birthdeath}}, \code{\link{yule}}, \code{\link{yule.cov}},
+  \code{\link{bd.time}}
 }
 \examples{
 ### define two models...
@@ -63,14 +69,18 @@ birth.step <- function(l1, l2, Tcl) { # 2 rates with one break-point
 BIRTH.logis <- function(t) log(exp(-a*t) + exp(b))/a + t
 BIRTH.step <- function(t)
 {
-    if (t <= Tcl) return(t*l1)
-    Tcl*l1 + (t - Tcl)*l2
+    out <- numeric(length(t))
+    sel <- t <= Tcl
+    if (any(sel)) out[sel] <- t[sel] * l1
+    if (any(!sel)) out[!sel] <- Tcl * l1 + (t[!sel] - Tcl) * l2
+    out
 }
 data(bird.families)
 ### fit both models:
 yule.time(bird.families, birth.logis)
 yule.time(bird.families, birth.logis, BIRTH.logis) # same but faster
 \dontrun{yule.time(bird.families, birth.step)}  # fails
-yule.time(bird.families, birth.step, BIRTH.step)
+yule.time(bird.families, birth.step, BIRTH.step,
+          opti = "nlminb", start = c(.01, .01, 100))
 }
 \keyword{models}