do.mds {Rdimtools} | R Documentation |
(Classical) Multidimensional Scaling
Description
do.mds
performs a classical Multidimensional Scaling (MDS) using
Rcpp
and RcppArmadillo
package to achieve faster performance than
cmdscale
.
Usage
do.mds(X, ndim = 2, ...)
Arguments
X |
an |
ndim |
an integer-valued target dimension. |
... |
extra parameters including
|
Value
a named Rdimtools
S3 object containing
- Y
an
(n\times ndim)
matrix whose rows are embedded observations.- projection
a
(p\times ndim)
whose columns are basis for projection.- trfinfo
a list containing information for out-of-sample prediction.
- algorithm
name of the algorithm.
References
Kruskal JB (1964). “Multidimensional Scaling by Optimizing Goodness of Fit to a Nonmetric Hypothesis.” Psychometrika, 29(1), 1–27.
Examples
## use iris data
data(iris)
set.seed(100)
subid = sample(1:150,50)
X = as.matrix(iris[subid,1:4])
lab = as.factor(iris[subid,5])
## compare with PCA
Rmds <- do.mds(X, ndim=2)
Rpca <- do.pca(X, ndim=2)
## visualize
opar <- par(no.readonly=TRUE)
par(mfrow=c(1,2))
plot(Rmds$Y, pch=19, col=lab, main="MDS")
plot(Rpca$Y, pch=19, col=lab, main="PCA")
par(opar)