Weighted Classical (Metric) Multidimensional Scaling
Description
Weighted classical multidimensional scaling, also known as weighted principal coordinates analysis.
Usage
1 2 3 4 5 
Arguments
d 
a distance structure such as that returned by 
k 
the dimension of the space which the data are to be represented in; must be in {1,2,…,n1}. If missing, all dimensions with above zero eigenvalue. 
eig 
indicates whether eigenvalues should be returned. 
add 
logical indicating if an additive constant c* should be computed, and added to the nondiagonal dissimilarities such that all n1 eigenvalues are nonnegative. Not implemented. 
x.ret 
indicates whether the doubly centred symmetric distance matrix should be returned. 
w 
Weights of points. 
x 
The 
choices 
Axes to be returned; 
type 
Type of graph which may be 
... 
Other arguments passed to graphical functions. 
Details
Function wcmdscale
is based on function
cmdscale
(package stats of base R), but it uses
point weights. Points with high weights will have a stronger
influence on the result than those with low weights. Setting equal
weights w = 1
will give ordinary multidimensional scaling.
With default options, the function returns only a matrix of scores
scaled by eigenvalues for all real axes. If the function is called
with eig = TRUE
or x.ret = TRUE
, the function returns
an object of class "wcmdscale"
with print
,
plot
, scores
, eigenvals
and
stressplot
methods, and described in section Value.
Value
If eig = FALSE
and x.ret = FALSE
(default), a
matrix with k
columns whose rows give the coordinates of
points corresponding to positive eignenvalues. Otherwise, an object
of class wcmdscale
containing the components that are mostly
similar as in cmdscale
:
points 
a matrix with 
eig 
the n1 eigenvalues computed during the scaling
process if 
x 
the doubly centred and weighted distance matrix if

GOF 
Goodness of fit statistics for 
weights 
Weights. 
negaxes 
A matrix of scores for axes with negative eigenvalues
scaled by the absolute eigenvalues similarly as

call 
Function call. 
References
Gower, J. C. (1966) Some distance properties of latent root and vector methods used in multivariate analysis. Biometrika 53, 325–328.
Mardia, K. V., Kent, J. T. and Bibby, J. M. (1979). Chapter 14 of Multivariate Analysis, London: Academic Press.
See Also
The function is modelled after cmdscale
, but adds
weights (hence name) and handles negative eigenvalues differently.
eigenvals.wcmdscale
and
stressplot.wcmdscale
are some specific methods. Other
multidimensional scaling methods are monoMDS
, and
isoMDS
and sammon
in package
MASS.
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  ## Correspondence analysis as a weighted principal coordinates
## analysis of Euclidean distances of Chisquare transformed data
data(dune)
rs < rowSums(dune)/sum(dune)
d < dist(decostand(dune, "chi"))
ord < wcmdscale(d, w = rs, eig = TRUE)
## Ordinary CA
ca < cca(dune)
## Eigevalues are numerically similar
ca$CA$eig  ord$eig
## Configurations are similar when site scores are scaled by
## eigenvalues in CA
procrustes(ord, ca, choices=1:19, scaling = 1)
plot(procrustes(ord, ca, choices=1:2, scaling=1))
## Reconstruction of nonEuclidean distances with negative eigenvalues
d < vegdist(dune)
ord < wcmdscale(d, eig = TRUE)
## Only positive eigenvalues:
cor(d, dist(ord$points))
## Correction with negative eigenvalues:
cor(d, sqrt(dist(ord$points)^2  dist(ord$negaxes)^2))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.