addRegime
performs one step of this analysis, and is called repeatedly by surfaceForward
. At each step, the delta-AICc of each possible shift placement (i.e. branch) is calculated, and an updated Hansen model is returned with one shift added. This process is iterated until the model stops improving beyond a threshold delta-AICc
surfaceForward(otree, odata, starting_list=NULL, starting_shifts=NULL,
exclude=0, aic_threshold=0, max_steps=NULL, save_steps=FALSE,
filename="temp_out_list.R", verbose=FALSE, plotaic=FALSE,
error_skip=FALSE, sample_shifts=FALSE, sample_threshold=2)
addRegime(otree, odata, oldshifts, oldaic, oldfit, alloldaic=NULL,
exclude=NULL, aic_threshold=0, verbose=FALSE, plotaic=FALSE,
error_skip=FALSE, sample_shifts=FALSE, sample_threshold=2)
ouchtree
format
otree@labels
startingModel
, which may include some pre-specified shifts
startingModel
when the initial model is built
aic_threshold
aic_threshold
)
filename
(defaults to FALSE
)
savesteps=TRUE
FALSE
)
FALSE
)
FALSE
)
sample_threshold
of the best AICc), rather than always selecting the best candidate model (defaults to FALSE
)
sample_shifts=TRUE
)
addRegime
returns a list describing one iteration of the forward phase of the SURFACE analysis; surfaceForward
returns a list of such lists consisting of each step of the stepwise process
hansentree
object if the number of traits m = 1
, or a list of hansentree
objects if m > 1
surfaceForward
can take anywhere from minutes to many hours (only tree sizes up to 128 taxa have been tested). Options to manage computation time include adding regimes one at a time with addRegime
or using max_steps
to perform the analysis several iterations at a time
Ingram, T. & Mahler, D.L. (2013) SURFACE: detecting convergent evolution from comparative data by fitting Ornstein-Uhlenbeck models with stepwise AIC. Methods in Ecology and Evolution 4: 416-425.
Mahler, D.L., Ingram, T., Revell, L.J. & Losos, J.B. (2013) Exceptional convergence on the macroevolutionary landscape in island lizard radiations. Science 341: 292-295.
surfaceBackward
, surfaceSimulate
, surfaceTreePlot
, surfaceSummary
, convertTreeData
, startingModel