Description Usage Arguments Details Value Author(s) References See Also Examples
Automatic stepwise model building for constrained ordination methods
(cca
, rda
, capscale
).
The function ordistep
is modelled after step
and
can do forward, backward and stepwise model selection using permutation tests.
Function ordiR2step
performs forward model choice solely on adjusted
R2 and P-value, for ordination objects created by rda
or capscale
.
1 2 3 4 5 6 |
object |
In |
scope |
Defines the range of models examined in the stepwise search.
This should be either a single formula, or a list containing
components |
direction |
The mode of stepwise search, can be one of |
Pin, Pout |
Limits of permutation P-values for adding ( |
R2scope |
Use adjusted R2 as the stopping criterion: only models with lower adjusted R2 than scope are accepted. |
pstep |
Number of permutations in one step. See |
perm.max |
Maximum number of permutation in |
steps |
Maximum number of iteration steps of dropping and adding terms. |
trace |
If positive, information is printed during the model building. Larger values may give more information. |
... |
Any additional arguments to |
The basic functions for model choice in constrained ordination are
add1.cca
and drop1.cca
. With these functions,
ordination models can be chosen with standard R function
step
which bases the term choice on AIC. AIC-like
statistics for ordination are provided by functions
deviance.cca
and extractAIC.cca
(with
similar functions for rda
). Actually, constrained
ordination methods do not have AIC, and therefore the step
may not be trusted. This function provides an alternative using
permutation P-values.
Function ordistep
defines the model, scope
of models
considered, and direction
of the procedure similarly as
step
. The function alternates with drop
and
add
steps and stops when the model was not changed during one
step. The -
and +
signs in the summary
table indicate which stage is performed. The number of permutations
is selected adaptively with respect to the defined decision limit. It
is often sensible to have Pout
> Pin
in stepwise
models to avoid cyclic adds and drops of single terms.
Function ordiR2step
builds model so that it maximizes adjusted
R2 (function RsquareAdj
) at every step, and
stopping when the adjusted R2 starts to decrease, or the
adjusted R2 of the scope
is exceeded, or the
selected permutation P-value is exceeded (Blanchet et
al. 2008). The second criterion is ignored with option
R2step = FALSE
, and the third criterion can be ignored setting
Pin = 1
(or higher). The direction
has choices
"forward"
and "both"
, but it is very exceptional that a
term is dropped with the adjusted R2 criterion. Function
uses adjusted R2 as the criterion, and it cannot be used if
the criterion cannot be calculated. Therefore it is unavailable for
cca
. Adjusted R2 cannot be calculated if the
number of predictors is higher than the number of observations, but
such models can be analysed with R2scope = FALSE
.
Functions ordistep
(based on P values) and ordiR2step
(based on adjusted R2 and hence on eigenvalues) can select
variables in different order.
Functions return the selected model with one additional
component, anova
, which contains brief information of steps
taken. You can suppress voluminous output during model building by
setting trace = FALSE
, and find the summary of model history
in the anova
item.
Jari Oksanen
Blanchet, F. G., Legendre, P. & Borcard, D. (2008) Forward selection of explanatory variables. Ecology 89, 2623–2632.
The function handles constrained ordination methods cca
,
rda
and capscale
. The underlying functions
are add1.cca
and drop1.cca
, and the
function is modelled after standard step
(which also can
be used directly but uses AIC for model choice, see
extractAIC.cca
). Function ordiR2step
builds upon
RsquareAdj
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ## See add1.cca for another example
### Dune data
data(dune)
data(dune.env)
mod0 <- rda(dune ~ 1, dune.env) # Model with intercept only
mod1 <- rda(dune ~ ., dune.env) # Model with all explanatory variables
## With scope present, the default direction is "both"
ordistep(mod0, scope = formula(mod1), perm.max = 200)
## Example without scope. Default direction is "backward"
ordistep(mod1, perm.max = 200)
## Example of ordistep, forward
## Not run:
ordistep(mod0, scope = formula(mod1), direction="forward", perm.max = 200)
## End(Not run)
### Mite data
data(mite)
data(mite.env)
mite.hel = decostand(mite, "hel")
mod0 <- rda(mite.hel ~ 1, mite.env) # Model with intercept only
mod1 <- rda(mite.hel ~ ., mite.env) # Model with all explanatory variables
## Example of ordiR2step with default direction = "both"
## (This never goes "backward" but evaluates included terms.)
step.res <- ordiR2step(mod0, mod1, perm.max = 200)
step.res$anova # Summary table
## Example of ordiR2step with direction = "forward"
## Not run:
step.res <- ordiR2step(mod0, scope = formula(mod1), direction="forward")
step.res$anova # Summary table
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.