Classical multidimensional scaling aims at finding low-dimensional structure by preserving pairwise distances of data.
cmds(data, ndim = 2)
an \((n\times p)\) matrix whose rows are observations.
an integer-valued target dimension.
a named list containing
an \((n\times ndim)\) matrix whose rows are embedded observations.
discrepancy between embedded and origianl data as a measure of error.
Torgerson WS (1952). “Multidimensional Scaling: I. Theory and Method.” Psychometrika, 17(4), 401--419. ISSN 0033-3123, 1860-0980.
## use simple example of iris dataset
data(iris)
idata = as.matrix(iris[,1:4])
icol = as.factor(iris[,5]) # class information
## run Classical MDS
iris.cmds = cmds(idata, ndim=2)
## visualize
opar <- par(no.readonly=TRUE)
plot(iris.cmds$embed, col=icol,
main=paste0("STRESS=",round(iris.cmds$stress,4)))
par(opar)