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.
nmds(dis,k=2,y=cmdscale(d=dis,k=k),maxit=50,trace=FALSE)
bestnmds(dis,k=2,itr=20,maxit=100,trace=FALSE)
An object of class ‘dsvord’, with components:
the coordinates of samples along axes
the "goodness-of-fit" computed as stress in percent
‘NMDS’
a dist object returned from dist
or a full symmetric
dissimilarity or distance matrix
the desired number of dimensions for the result
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
the maximum number of iterations in the isoMDS routine
a switch to control printing intermediate results
number of random starts to find best result
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
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.
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.
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
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