The main idea...Nonmetric multidimensional scaling (NMDS) is an indirect gradient analysis approach which produces an ordination based on a distance or dissimilarity matrix. Unlike methods which attempt to maximise the variance or correspondence between objects in an ordination, NMDS attempts to represent, as closely as possible, the pairwise dissimilarity between objects in a lowdimensional space. Any dissimilarity coefficient or distance measure may be used to build the distance matrix used as input.NMDS is a rankbased approach. This means that the original distance data is substituted with ranks. Thus, rather than object A being 2.1 units distant from object B and 4.4 units distant from object C, object C is the "first" most distant from object A while object C is the "second" most distant. While information about the magnitude of distances is lost, rankbased methods are generally more robust to data which do not have an identifiable distribution.
NMDS is a robust technique. It can:
PreanalysisTechnical considerationsAs NMDS is an iterative algorithm, it can quickly become computationally demanding for large data sets. Further, multiple runs of the NMDS algorithm are needed to ensure a stable solution has been reached. If you do not have access to a platform that can effectively run NMDS, consider using principal coordinates analysis. How many axes are appropriate?

Figure 2: Evaluating ordination stress. a) a scree plot showing the decrease in ordination stress with an increase in the number of ordination dimensions allowed. Finding the "breakpoint" can instruct selection of a minimum number of dimensions. If there is no breakpint and adding more dimensions leads to a small, linear decrease in stress, the data set may not be suited to lowdimensional ordination. b) a Shepard stress plot showing the relationship between the actual dissimilarities between objects (from the original dissimilarity matrix) and the ordination distances (i.e. the distances on the final plot). If these are well correlated, the ordination stress will be low and the visualisation trustworthy. If there is a large amount of scatter (i.e. a poor linear relationship), then the ordination is not representative of the original distances. Occasionally, specific objects may be ordinated poorly (blue arrow), despite the overall solution being acceptable. 
How should objects be initially placed?
Random placement
NMDS routines often begin by random placement of data objects in ordination space. The algorithm then begins to refine this placement by an iterative process, attempting to find an ordination in which ordinated object distances more closely match the order of object dissimilarities in the original distance matrix. Running the NMDS algorithm multiple times to ensure that the ordination is stable is necessary, as any one run may get "trapped" in local optima which are not representative of true distances. During this process, evaluate the algorithm's results based on how it affects your ecological interpretation of the gradients revealed.
There are several other approaches to initially place objects using either the results of another analysis or a priori knowledge about those objects. Some approaches suggested by Legendre & Legendre (1998) are described below.
Placement according to a principal coordinates analysis result
Principal coordinates analysis (PCoA), sometimes called metric multidimensional scaling, offers a less computationally demanding approach to ordinate objects based on a (dis)similarity matrix. The coordinates of objects along principal coordinate axes (the number of which will correspond to the number of dimensions of the NMDS solution) can offer an initial placement of objects for the NMDS algorithm to (potentially) refine.
Placement according to geographic distances
If the objects (rows) in your data set represent "sites", "samples", "observations" or similar entities which are geographically separated, the geographic distances between these objects can be used to initially place objects in an NMDS analysis. As many (if not most) ecological systems and processes are spatially structured, placement according to geographic distances may help the NMDS algorithm achieve good results. As always, consider whether this approach is meaningful to your data.
Placement by moving from high to low dimensionality
As noted above, allowing the NMDS algorithm to ordinate objects in more dimensions generally allows better representation of the distances in the original distance matrix (i.e. less ordination stress). This property may be used to arrive at a meaningful initial placement of objects in a low dimensional space. The coordinates and distances of objects in a higherdimensional ordination may be extracted and used as the approximate starting positions for a lowerdimensional NMDS run. Remember, the number of dimensions used by the NMDS algorithm is specified by the user.
Postanalysis
Rotating the NMDS for easier interpretation
As noted above, the standard NMDS procedure focuses on accurately representing the distances in a distance matrix in an ordination. It does not attempt to create a visualisation which, for example, maximises the separation between points. Minimising overlap between points in an ordination is helpful in interpretation, thus a principal components analysis may be applied to NMDS axis scores. This effectively rotates an NMDS solution to ensure the first NMDS axis lies along the direction of maximum scatter. Several implementations of the NMDS routine do this automatically, however, performing this manually is not difficult and can be of great help.
Comparing ordinations and groups of objects
At times, it is desirable to compare two or more NMDS ordinations. To do so, consider Procrustes analysis. To test if groups of objects have significantly different mean dissimilarities, consider the analysis of similarity (ANOSIM) test.
Reading an NMDS plot
Reading NMDS plots is quite straightforward: objects that are ordinated closer to one another are likely to be more similar than those further apart. However, the scale of the axes is arbitrary as is the orientation of the plot. Solutions with higher stress values (usually above 0.20) should be interpreted with caution and those with stress above 0.30 are highly suspect.Tight clusters of points that are wellseparated from other clusters may indicate subpopulations in the data. Be aware that if a cluster of points is very dissimilar from other points or clusters, the arrangement of points in that cluster may not be very meaningful. The stress of the solution would be minimally affected by rearranging points in a tight cluster. Rerunning an NMDS with only those objects in a given cluster may reveal more informative patterns.
NMDS is suited to indirect gradient analysis. If the patterns in an ordination corroborate existing knowledge or a hypothesis, there may be grounds for a direct gradient analysis, a hypothesis test, or the design of a new sampling campaign targeting that variation. Do not fall into the trap of data dredging, however.
Warnings
 Do not treat the results of distancematrixbased analyses as 'raw data' in further procedures or interpretation. As pairwise dissimilarities have been calculated, there is now interdependence in the data. See Legendre et al. (2005) for further discussion.
 Avoid relating environmental variables (or other explanatory variables) to the distances in an NMDS ordination. As an NMDS ordination is typically only an approximate representation of a distance matrix, consider using the distance matrix itself. Consider distancebased redundancy analysis or the Mantel test.
Walkthroughs featuring nonmetric multidimensional scaling
 Soil characteristics more strongly inﬂuence soil bacterial communities than landuse type
 Comparison of Bacterial Communities in Sands and Water at Beaches with Bacterial Water Quality Violations
Implementations
 R
 metaMDS() in the package vegan. This function performs multiple NMDS runs and retains the best solution. It also wraps several procedures such as dissimilarity matrix calculation, data standardisation, and PCA rotation for convenience. Function stressplot() may be used to visualise the Shepard stress plot. Functions ordiplot(), ordisurf(), and envfit() are useful in plotting the NMDS solution and overlaying additional information such as environmental variables. Such information is largely to provide perspective and not to be treated as a substitute for direct gradient analysis.
 metaMDS() in the package vegan. This function performs multiple NMDS runs and retains the best solution. It also wraps several procedures such as dissimilarity matrix calculation, data standardisation, and PCA rotation for convenience. Function stressplot() may be used to visualise the Shepard stress plot. Functions ordiplot(), ordisurf(), and envfit() are useful in plotting the NMDS solution and overlaying additional information such as environmental variables. Such information is largely to provide perspective and not to be treated as a substitute for direct gradient analysis.
References
 Legendre P, Legendre L. Numerical Ecology. 2nd ed. Amsterdam: Elsevier, 1998. ISBN 9780444892508.
 Legendre P, Borcard D, PeresNeto PR (2005) Analyzing beta diversity: Partitioning the spatial variation of community composition data. Ecol Monogr. 75:435–450.
 Clarke KR (1993) Nonparametric multivariate analysis of changes in community structure. Austral J Ecol 18:117143.
 Kenkel NC, Orloci L (1986) Applying Metric and Nonmetric Multidimensional Scaling to Ecological Studies: Some New Results. Ecology 67:919–928.