\Header{cmdscale}{Classical (Metric) Multidimensional Scaling}
\keyword{multivariate}{cmdscale}
\begin{Description}\relax
Classical multidimensional scaling of a data matrix.\end{Description}
\begin{Usage}
\begin{verbatim}
cmdscale(d, k = 2, eig = FALSE)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{d}] a distance structure such as that returned by \code{dist}
or a full symmetric matrix containing the dissimilarities.
\item[\code{k}] the dimension of the space which the data are to be represented in.
\item[\code{eig}] indicates whether eigenvalues should be returned.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Multidimensional scaling takes a set of dissimilarities
and returns a set of points such that the distances between the points
are approximately equal to the dissimilarities.

The functions \code{isoMDS} and \code{sammon} in package
\file{MASS} provide alternative ordination techniques.\end{Details}
\begin{Value}
If \code{eig = FALSE}, a matrix with \code{k} columns whose rows give the
coordinates of the points chosen to represent the dissimilarities.

Otherwise, a list containing the following components.
\begin{ldescription}
\item[\code{points}] a matrix with \code{k} columns whose rows give the
coordinates of the points chosen to represent the dissimilarities.
\item[\code{eig}] the eigenvalues computed during the scaling process.
\end{ldescription}
\end{Value}
\begin{Note}\relax
The S version of this function provides for computing an additional
``fiddle'' factor suggested by Torgerson.  \R{} does not provide this option.\end{Note}
\begin{References}\relax
Seber, G. A. F. (1984). \emph{Multivariate Analysis}. New York: Wiley.

Torgerson, W. S. (1958). \emph{Theory and Methods of Scaling}.
New York: Wiley.\end{References}
\begin{SeeAlso}\relax
\code{\Link{dist}}. Also
\code{\Link{isoMDS}} and \code{\Link{sammon}}
in package \file{MASS}.\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
data(eurodist)
loc <- cmdscale(eurodist)
x <- loc[,1]
y <- -loc[,2]
plot(x, y, type="n", xlab="", ylab="")
text(x, y, names(eurodist), cex=0.5)
\end{ExampleCode}
\end{Examples}

