Learn R Programming

fmds (version 0.1.5)

fastermds: Stochastic Iterative Majorization Multidimensional Scaling Function

Description

fastermds performs multidimensional scaling using a stochastic iterative majorization algorithm. The data are either dissimilarities (full or only lower triangular part) or multivariate data. The dissimilarities and the weights may not contain negative values. The configuration is either unrestricted or (partly) fixed. Local multidimensional scaling is performed when a boundary is provided. Interval multidimensional scaling is performed with a full dissimilarity matrix, using the lower triangular part for the lower bound and the upper triangular part for the upper bound.

Usage

fastermds(
  delta = NULL,
  lower = NULL,
  data = NULL,
  w = NULL,
  p = 2,
  z = NULL,
  fixed = NULL,
  linear = FALSE,
  boundary = NULL,
  interval = FALSE,
  NCYCLES = 32,
  MINRATE = 0.01,
  error.check = FALSE,
  test = 0
)

Value

n by p matrix with final coordinates.

Arguments

delta

dissimilarity matrix, non-negative, square, and hollow.

lower

lower triangular part of dissimilarity matrix.

data

multivariate data matrix.

w

non-negative weights per dissimilarity for delta and lower, and per object for data

p

dimensionality (default = 2).

z

n by p matrix with initial coordinates.

fixed

n by p matrix with booleans indicating free (FALSE) or fixed (TRUE) coordinates.

linear

boolean indicating whether linear is used.

boundary

boundary value for local mds.

interval

interval measurements for interval mds, requires delta data format.

NCYCLES

number of cycles taken by the algorithm (default = 32).

MINRATE

criterion rate of convergence (default = 0.01).

error.check

extensive validity check input parameters (default = FALSE).

test

indicates which test is applied.

Author

Frank M.T.A. Busing

Details

One of the following three data formats need to be specified:

References

Agrafiotis, and others, and Busing

Examples

Run this code
n <- 1000
m <- 10
delta <- as.matrix( dist( matrix( runif( n * m ), n, m ) ) )
p <- 2
zinit <- matrix( runif( n * p ), n, p )
# r <- fastermds( delta = delta, p = p, z = zinit, error.check = TRUE )

Run the code above in your browser using DataLab