do.mds
performs a classical Multidimensional Scaling (MDS) using
Rcpp
and RcppArmadillo
package to achieve faster performance than
cmdscale
.
do.mds(X, ndim = 2, ...)
an \((n\times p)\) matrix whose rows are observations and columns represent independent variables.
an integer-valued target dimension.
extra parameters including
an additional option for preprocessing the data.
Default is "null"
. See also aux.preprocess
for more details.
a named Rdimtools
S3 object containing
an \((n\times ndim)\) matrix whose rows are embedded observations.
a \((p\times ndim)\) whose columns are basis for projection.
a list containing information for out-of-sample prediction.
name of the algorithm.
Kruskal JB (1964). “Multidimensional Scaling by Optimizing Goodness of Fit to a Nonmetric Hypothesis.” Psychometrika, 29(1), 1--27.
# \donttest{
## 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)
# }