sammon(d, y = cmdscale(d, k), k = 2, niter = 100, trace = TRUE,
magic = 0.2, tol = 1e-4)
dist
, or a full, symmetric
matrix. Data are assumed to be dissimilarities or relative distances,
but must be positive except for self-distance. This can contain missing
values.cmdscale
is used to provide the classical solution. (If there are missing
values in d
, an initial configuration must be provided.) This
must not have duplicates.TRUE
.An iterative algorithm is used, which will usually converge in around
50 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.
In this release the algorithm has been modified by adding a step-length
search (magic
) to ensure that it always goes downhill.
Ripley, B. D. (1996) Pattern Recognition and Neural Networks. Cambridge University Press.
Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth edition. Springer.
cmdscale
, isoMDS
swiss.x <- as.matrix(swiss[, -1])
swiss.sam <- sammon(dist(swiss.x))
plot(swiss.sam$points, type = "n")
text(swiss.sam$points, labels = as.character(1:nrow(swiss.x)))
Run the code above in your browser using DataLab