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