Learn R Programming

labdsv (version 2.0-1)

nmds: Nonmetric Multidimensional Scaling

Description

This function is simply a wrapper for the isoMDS function in the MASS package by Venables and Ripley. The purpose is to convert the output to class ‘dsvord’ to simplify plotting and additional graphical analysis as well as to provide a summary method.

Usage

nmds(dis,k=2,y=cmdscale(d=dis,k=k),maxit=50,trace=FALSE)
bestnmds(dis,k=2,itr=20,maxit=100,trace=FALSE)

Value

An object of class ‘dsvord’, with components:

points

the coordinates of samples along axes

stress

the "goodness-of-fit" computed as stress in percent

type

‘NMDS’

Arguments

dis

a dist object returned from dist or a full symmetric dissimilarity or distance matrix

k

the desired number of dimensions for the result

y

a matrix of initial locations (objects as rows, coordinates as columns, as many columns as specified by k). If none is supplied, cmdscale is used to generate them

maxit

the maximum number of iterations in the isoMDS routine

trace

a switch to control printing intermediate results

itr

number of random starts to find best result

Author

Venables and Ripley for the original isoMDS function included in the MASS package.

David W. Roberts droberts@montana.edu http://ecology.msu.montana.edu/droberts/droberts.html

Details

The nmds function simply calls the isoMDS function of the MASS library, but converts the result from a list to an object of class ‘dsvord’. The only purpose for the function is to allow ‘plot’, ‘identify’, ‘surf’, and other additional methods to be defined for the class, to simplify the analysis of the result.

The ‘bestnmds’ function runs one run from a PCO solution and ‘itr-1’ number of random initial locations and returns the best result of the set.

References

Kruskal, J.B. (1964) Multidimensional scaling by optimizing goodness of fit to nonmetric hypothesis. Psychometrics 29:1-27.

Kruskal, J.B. (1964) Nonmetric multidimensional scaling: a numerical method. Psychometrics 29:115-129.

T.F. Cox and M.A.A. Cox. (1994) Multidimensional Scaling. Chapman and Hall.

http://ecology.msu.montana.edu/labdsv/R/labs/lab9/lab9.html

See Also

isoMDS for the original function

plot.dsvord for the ‘plot’ method, the ‘plotid’ method to identify points with a mouse, the ‘points’ method to identify points meeting a logical condition, the ‘hilight’ method to color-code points according to a factor, the ‘chullord’ method to add convex hulls for a factor, or the the ‘surf’ method to add surface contours for continuous variables.

initMDS for an alternative way to automate random starts

postMDS for a post-solution rescaling

metaMDS for a full treatment of variations

Examples

Run this code
data(bryceveg)
data(brycesite)
dis.man <- dist(bryceveg,method="manhattan")
demo.nmds <- nmds(dis.man,k=4)
plot(demo.nmds)
points(demo.nmds,brycesite$elev>8000)
plotid(demo.nmds,ids=row.names(brycesite))

Run the code above in your browser using DataLab