fit_dd_model_with_fossil: Fit a diversity-dependent diversification model to...

View source: R/fit_dd_model_with_fossil.R

fit_dd_model_with_fossilR Documentation

Fit a diversity-dependent diversification model to phylogenies with fossil lineages

Description

Fits the parameters of a specified diversity-dependent model to a set of full phylogenies (with fossil lineages) produced by comrad simulations

Usage

fit_dd_model_with_fossil(
  waiting_times_tbl,
  init_params,
  dd_model = dd_model_lc(),
  num_cycles = Inf
)

Arguments

waiting_times_tbl

a table with waiting times, the output of waiting_times() for one or more phylogenies.

init_params

named vector, initial values of the parameters to optimise. The names and number of parameters must match those specified in dd_model$params_check.

dd_model

a list with five named elements that together specify the diversity-dependent model:

  • name a two-letter code, the name of the model. First letter specifies the form of the speciation function, second letter the form of the extinction function: "l" for "linear", "x" for exponential, "c" for constant.

  • speciation_func, a function specifying the diversity-dependent speciation rate. Must take arguments params and N.

  • extinction_func, a function specifying the diversity-dependent extinction rate. Must take arguments params and N.

  • constraints a list of conditions that parameter values must satisfy. Each element is a function that takes arguments params and ..., and returns TRUE if the constraint is satisfied, FALSE if it isn't.

  • params_check a function that controls the format of params. Returns an error if the elements of params are named differently from what is expected or if the length differs from the expectation.

comrad contains several dd_model functions, see for example dd_model_lc().

num_cycles

passed to DDD::optimizer(), number of cycles of optimisation. Next cycle starts from the last vertices of the previous cycle.

Value

a one-row table with initial values of the parameters, maximum likelihood estimates, the maximum likelihood and a convergence code (see subplex::subplex() for the meaning of this code)

Author(s)

Theo Pannetier


TheoPannetier/comrad documentation built on April 8, 2023, 8:06 a.m.