cmdscale(d, k = 2, eig = FALSE, add = FALSE, x.ret = FALSE,
list. = eig || add || x.ret)
dist
or a full symmetric matrix containing the dissimilarities.list
should be
returned or just the $n \times k$ matrix, see .list
is false (as per default), a matrix with k
columns whose rows give the coordinates of the points chosen to
represent the dissimilarities. Otherwise, a list
containing the following components.
k
columns whose rows give the
coordinates of the points chosen to represent the dissimilarities.eig
is true. NB: versions of Rbefore 2.12.1
returned only k
but were documented to return $n - 1$.x.ret
is true.0
if add = FALSE
. A set of Euclidean distances on $n$ points can be represented
exactly in at most $n - 1$ dimensions. cmdscale
follows
the analysis of Mardia (1978), and returns the best-fitting
$k$-dimensional representation, where $k$ may be less than the
argument k
.
The representation is only determined up to location (cmdscale
takes the column means of the configuration to be at the origin),
rotations and reflections. The configuration returned is given in
principal-component axes, so the reflection chosen may differ between
Rplatforms (see prcomp
).
When add = TRUE
, a minimal additive constant $c*$ is
computed such that the dissimilarities $d_{ij} + c*$ are Euclidean and hence can be represented in n - 1
dimensions. Whereas S (Becker et al, 1988) computes this
constant using an approximation suggested by Torgerson, Ruses the
analytical solution of Cailliez (1983), see also Cox and Cox (2001).
Note that because of numerical errors the computed eigenvalues need
not all be non-negative, and even theoretically the representation
could be in fewer than n - 1
dimensions.
Cailliez, F. (1983) The analytical solution of the additive constant problem. Psychometrika 48, 343--349.
Cox, T. F. and Cox, M. A. A. (2001) Multidimensional Scaling. Second edition. Chapman and Hall.
Gower, J. C. (1966) Some distance properties of latent root and vector methods used in multivariate analysis. Biometrika 53, 325--328.
Krzanowski, W. J. and Marriott, F. H. C. (1994)
Multivariate Analysis. Part I. Distributions, Ordination and
Inference. London: Edward Arnold. (Especially pp.
Mardia, K.V. (1978) Some properties of classical multidimensional scaling. Communications on Statistics -- Theory and Methods, A7, 1233--41.
Mardia, K. V., Kent, J. T. and Bibby, J. M. (1979). Chapter 14 of Multivariate Analysis, London: Academic Press.
Seber, G. A. F. (1984). Multivariate Observations. New York: Wiley.
Torgerson, W. S. (1958). Theory and Methods of Scaling. New York: Wiley.
dist
. isoMDS
and sammon
in package
require(graphics)
loc <- cmdscale(eurodist)
x <- loc[, 1]
y <- -loc[, 2] # reflect so North is at the top
## note asp = 1, to ensure Euclidean distances are represented correctly
plot(x, y, type = "n", xlab = "", ylab = "", asp = 1, axes = FALSE,
main = "cmdscale(eurodist)")
text(x, y, rownames(loc), cex = 0.6)
Run the code above in your browser using DataLab