isoMDS(d, y = cmdscale(d, k), k = 2, maxit = 50, trace = T, tol = 1e-3)
dist
, or a full, symmetric matrix. Data
are assumed to be dissimilarities or relative distances, but must be
positive except for self-distance.
cmdscale
is used to provide the classical
solution. The dimension of the initial configuration determines that
of the answer
true
.
trace
is true, the initial stress and
the current stress are printed out every 5 iterations.
This chooses a k-dimensional (default k = 2) configuration to minimize
the stress, the square root of the ratio of the sum of squared
differences between the input distances and those of the configuration
to the sum of configuration distances squared. However, the input
distances are allowed a monotonic transformation.
An iterative algorithm is used, which will usually converge in around
10 iterations. As this is necessarily an O(n^2) calculation, it is slow
for large datasets. Further, since the configuration is only determined
up to rotations and reflections (by convention the centroid is at the
origin), the result can vary considerably from machine to machine.
T. F. Cox and M. A. A. Cox (1994, 2001) Multidimensional Scaling. Chapman & Hall.
swiss.dist <- dist(swiss.x) swiss.mds <- isoMDS(swiss.dist) plot(swiss.mds$points, type="n") text(swiss.mds$points, labels=as.character(1:nrow(swiss.x))) swiss.sh <- Shepard(swiss.dist, swiss.mds$points) plot(swiss.sh) lines(swiss.sh$x, swiss.sh$yf, type="S")