## S3 method for class 'default':
bioenv(comm, env, method = "spearman", index = "bray",
upto = ncol(env), trace = FALSE, ...)
## S3 method for class 'formula':
bioenv(formula, data, ...)
cor
.vegdist
.formula
and data.bioenv
with a
summary
method.vegdist
. Then it selects all possible subsets of
environmental variables, scale
s the variables, and
calculates Euclidean distances for this subset using
dist
. Then it finds the correlation between community
dissimilarities and environmental distances, and for each size of
subsets, saves the best result.
There are $2^p-1$ subsets of $p$ variables, and an exhaustive
search may take a very, very, very long time (parameter upto
offers a
partial relief). The function can be called with a model formula
where
the LHS is the data matrix and RHS lists the environmental variables.
The formula interface is practical in selecting or transforming
environmental variables.
Clarke & Ainsworth (1993) suggested this method to be used for selecting the best subset of environmental variables in interpreting results of nonmetric multidimensional scaling (NMDS). They recommended a parallel display of NMDS of community dissimilarities and NMDS of Euclidean distances from the best subset of scaled environmental variables. They warned against the use of Procrustes analysis, but to me this looks like a good way of comparing these two ordinations.
Clarke & Ainsworth wrote a computer program BIO-ENV giving the name to the current function. Presumably BIO-ENV was later incorporated in Clarke's PRIMER software (available for Windows). In addition, Clarke & Ainsworth suggested a novel method of rank correlation which is not available in the current function.
vegdist
,
dist
, cor
for underlying routines,
isoMDS
for ordination, procrustes
for Procrustes analysis, protest
for an alternative, and
rankindex
for studying alternatives to the default
Bray-Curtis index.# The method is very slow for large number of possible subsets.
# Therefore only 6 variables in this example.
data(varespec)
data(varechem)
sol <- bioenv(wisconsin(varespec) ~ log(N) + P + K + Ca + pH + Al, varechem)
sol
summary(sol)
Run the code above in your browser using DataLab