metaMDS
uses isoMDS
to perform
Nonmetric Multidimensional Scaling (NMDS), but tries to find a stable
solution using several random starts (function initMDS
). In
addition, it standardizes the scaling in
the result, so that the configurations are easier
to interpret (function postMDS
), and adds species scores to the
site ordination (function wascores
).metaMDS(comm, distance = "bray", k = 2, trymax = 20, autotransform =TRUE,
noshare = 0.1, wascores = TRUE, expand = TRUE, trace = 1,
plot = FALSE, previous.best, old.wa = FALSE, ...)
## S3 method for class 'metaMDS':
plot(x, display = c("sites", "species"), choices = c(1, 2),
type = "p", shrink = FALSE, ...)
## S3 method for class 'metaMDS':
points(x, display = c("sites", "species"),
choices = c(1,2), shrink = FALSE, select, ...)
## S3 method for class 'metaMDS':
text(x, display = c("sites", "species"), labels,
choices = c(1,2), shrink = FALSE, select, ...)
## S3 method for class 'metaMDS':
scores(x, display = c("sites", "species"), shrink = FALSE,
choices, ...)
metaMDSdist(comm, distance = "bray", autotransform = TRUE, noshare = 0.1,
trace = 1, commname, zerodist = "fail", distfun = vegdist, ...)
metaMDSiter(dist, k = 2, trymax = 20, trace = 1, plot = FALSE, previous.best,
...)
initMDS(x, k=2)
postMDS(X, dist, pc=TRUE, center=TRUE, halfchange, threshold=0.8,
nthreshold=10, plot=FALSE, ...)
metaMDSredist(object, ...)
metaMDSrotate(object, vec, na.rm = FALSE, ...)
dist
structure or as a symmetric square matrix.
In the latter case all other stages are skipped except random
starts and centring and pcvegdist
.isoMDS
.stepacross
to find flexible shortest paths
among dissimilarities.wascores
.wascores
.trace = 2
or higher will be
more voluminous.par(ask = TRUE)
with this option.isoMDS
default for the
starting solution.isoMDS
or plot
object."p"
for points, "t"
for text, and
"n"
for axes only."sites"
or "species"
.TRUE
for displayed items or a vector of indices
of displayed items.comm
: should not be given if the
function is called directly."fail"
or "add"
a small positive value, or "ignore"
.dist
object and accepting argument method
can be used
(but some extra arguments may cause name conflicts).TRUE
when dissimilarities were evaluated within
metaMDS
and the dissimilarity index has an upper limit of
$1$. If FALSE
, the ordination dissimilarities are scaled
metaMDS
.vec
.metaMDS
returns an object of class
metaMDS
. The final site ordination is stored in the item
points
, and species ordination in the item species
. The
other items store the information on the steps taken by the
function. The object has print
, plot
, points
and
text
methods.
Functions metaMDSdist
and metaMDSredist
return
vegdist
objects.
Function initMDS
returns a random
configuration which is intended to be used within
isoMDS
only. Functions metaMDSiter
and
postMDS
returns the result of isoMDS
with
updated configuration.wascores
for species was changed in
old.wa = TRUE
.initMDS
and postMDS
together with some
other functions are intended to
help run NMDS wit isoMDS
like recommended by
Minchin (1987). Function metaMDS
combines all recommendations
into one command for a shotgun style analysis. The complete steps in
metaMDS
are:
wisconsin
. If the values look
very large, the function also performssqrt
transformation. Both of these standardization are generally found
to improve the results. However, the limits are completely
arbitrary (at present, data maximum 50 triggerssqrt
and >9 triggerswisconsin
). If you want to have a full
control of the analysis, you
should setautotransform = FALSE
and make explicit
standardization in the command.vegdist
can be used. Functionrankindex
can be used for finding the test winner for
you data and gradients.stepacross
dissimilarities, or flexible shortest paths among all sites. Thestepacross
is triggered by optionnoshare
. If
you do not like manipulation of original distances, you should setnoshare = 1
.isoMDS
is to start from
metric scaling (withcmdscale
) which typically is
close to a local optimum. The strategy inmetaMDS
is to first
run a defaultisoMDS
, or use theprevious.best
solution if supplied, and take
its solution as the standard (Run 0
). ThenmetaMDS
startsisoMDS
from several
random starts (maximum number is given bytrymax
). If a
solution is better (has a lower stress) than the previous standard,
it is taken as the new standard. If the solution is better or close
to a standard,metaMDS
compares two solutions using
Procrustes analysis using functionprocrustes
with
optionsymmetric = TRUE
. If the two solutions are very
similar in their Procrustesrmse
and the largest residual is
very small, the solutions are regarded as convergent and the best
one is saved. Please note that the conditions are stringent, and you
may have found good and relatively stable solutions although the
function is not yet satisfied. Settingtrace = TRUE
will
monitor the final stresses, andplot = TRUE
will display
Procrustes overlay plots from each comparison. This is the only
step performed if input data (comm
) were dissimilarities.metaMDS
will runpostMDS
for the final result. FunctionpostMDS
provides the following ways of ``fixing'' the indeterminacy of
scaling and orientation of axes in NMDS: Centring moves the origin
to the average of the axes. Principal components rotate the
configuration so that the variance of points is maximized on first
dimension (with functionmetaMDSrotate
you can
alternatively rotate the configuration so that the first axis is
parallel to an environmental variable). Half-change scaling
scales the configuration so that one unit means halving of
community similarity from replicate similarity. Half-change
scaling is based on closer dissimilarities where the relation
between ordination distance and community dissimilarity is rather
linear; the limit is controlled by parameterthreshold
. If
there are enough points below this threshold (controlled by the
parameternthreshold
), dissimilarities are regressed on
distances. The intercept of this regression is taken as the
replicate dissimilarity, and half-change is the distance where
similarity halves according to linear regression. Obviously the
method is applicable only for dissimilarity indices scaled to$0 \ldots 1$, such as Kulczynski, Bray-Curtis and Canberra
indices. If half-change scaling is not used, the ordination is
scaled to the same range as the original dissimilarities.wascores
with given value of parameterexpand
.
The expansion of weighted averages can be undone withshrink
= TRUE
inplot
orscores
functions, and the
calculation of species scores can be suppressed withwascores
= FALSE
.Minchin, P.R. (1987) An evaluation of relative robustness of techniques for ecological ordinations. Vegetatio 69, 89--107.
isoMDS
, decostand
,
wisconsin
,
vegdist
, rankindex
, stepacross
,
procrustes
, wascores
,
ordiplot
.## The recommended way of running NMDS (Minchin 1987)
##
data(dune)
library(MASS) ## isoMDS
# NMDS
sol <- metaMDS(dune)
sol
plot(sol, type="t")
## Start from previous best solution
sol2 <- metaMDS(dune, previous.best = sol)
Run the code above in your browser using DataLab