R: Metric Dimensional Scaling

MDS-class {dimRed} | R Documentation

## Metric Dimensional Scaling

### Description

An S4 Class implementing classical scaling (MDS).

### Details

MDS tries to maintain distances in high- and low-dimensional space, it has the advantage over PCA that arbitrary distance functions can be used, but it is computationally more demanding.

### Slots

`fun`

  A function that does the embedding and returns a dimRedResult object.

`stdpars`

  The standard parameters for the function.

### General usage

Dimensionality reduction methods are S4 Classes that either be used directly, in which case they have to be initialized and a full list with parameters has to be handed to the `@fun()` slot, or the method name be passed to the embed function and parameters can be given to the `...`, in which case missing parameters will be replaced by the ones in the `@stdpars`.

### Parameters

MDS can take the following parameters:

ndim

  The number of dimensions.

d

  The function to calculate the distance matrix from the input coordinates, defaults to euclidean distances.

### Implementation

Wraps around `cmdscale`. The implementation also provides an out-of-sample extension which is not completely optimized yet.

### References

Torgerson, W.S., 1952. Multidimensional scaling: I. Theory and method. Psychometrika 17, 401-419. https://doi.org/10.1007/BF02288916

### See Also

Other dimensionality reduction methods: `AutoEncoder-class`, `DRR-class`, `DiffusionMaps-class`, `DrL-class`, `FastICA-class`, `FruchtermanReingold-class`, `HLLE-class`, `Isomap-class`, `KamadaKawai-class`, `LLE-class`, `NNMF-class`, `PCA-class`, `PCA_L1-class`, `UMAP-class`, `dimRedMethod-class`, `dimRedMethodList`, `kPCA-class`, `nMDS-class`, `tSNE-class`

### Examples

    ## Not run:
    dat <- loadDataSet("3D S Curve")

    ## Use the S4 Class directly:
    mds <- MDS()
    emb <- mds@fun(dat, mds@stdpars)

    ## use embed():
    emb2 <- embed(dat, "MDS", d = function(x) exp(stats::dist(x)))

    plot(emb, type = "2vars")
    plot(emb2, type = "2vars")

    ## End(Not run)

[Package dimRed version 0.2.3 Index]