smacofConstraint {smacof} | R Documentation |
SMACOF with constraints on the configuration
smacofConstraint(delta, constraint = "linear", external, ndim = 2, weightmat = NULL, startconf = NULL, metric = TRUE, ties = "primary", verbose = FALSE, modulus = 1, itmax = 1000, eps = 1e-6)
delta |
Either a symmetric dissimilarity matrix or an object of class "dist" |
constraint |
Type of constraint: "linear" , "unique" , "diagonal" , or a user-specified function (see details) |
external |
Data frame or matrix with external covariates, or list for simplex and circumplex (see details) |
ndim |
Number of dimensions |
weightmat |
Optional matrix with dissimilarity weights |
startconf |
Optional matrix with starting values for configurations (see details) |
metric |
If FALSE non-metric MDS is performed |
ties |
Tie specification for non-metric MDS only: "primary" , "secondary" , or "tertiary" |
verbose |
If TRUE , intermediate stress is printed out |
modulus |
Number of smacof iterations per monotone regression call |
itmax |
Maximum number of iterations |
eps |
Convergence criterion |
The user can specify a function with the following arguments: configuration matrix with starting values, matrix V (based on the weight matrix, see package vignette), external scale matrix. The function must return a matrix of resulting configurations.
A matrix with starting configurations can be specifiied. For constraint = "linear"
it has to be of dimension (n x p). For constraint = "unique"
it is typically of the form X = (Y|D) with D as (n x n) diagonal matrix and Y (n x p) configuration matrix. Hence X is of dimension (n x (n + p)). For constraint = "diagonal"
it is typically of dimension (n x q) where q is the number of columns of the external scale matrix (and thus number of dimensions). If constraint
is user-specified the specification of startconf
is mandatory.
The argument external
allows for the specification of a covariate data frame (or matrix) of dimension (n x q). Alternatively, for simplex fitting the user can specify a list of the following structure: external = list("simplex", dim2)
with dim2
denoting the dimension of the simplex with dim2 < n. For a circumplex the list has to be of the following form: external = list("circumplex", dim2, k1, k2)
with 1 <= k1 <= k2 <= n (see also examples section). k1 and k2 denote the circumplex width.
obsdiss |
Observed dissimilarities, normalized |
confdiss |
Configuration dissimilarities |
conf |
Matrix of final configurations |
stress.m |
stress value for metric MDS |
stress.nm |
stress value for non-metric MDS (if computed) |
ndim |
Number of dimensions |
model |
Type of smacof model |
niter |
Number of iterations |
nobj |
Number of objects |
Jan de Leeuw and Patrick Mair
de Leeuw, J. & Mair, P. (2008). Multidimensional scaling using majorization: The R package smacof.
de Leeuw, J., & Heiser, W. (1980). Multidimensional scaling with restrictions on the configurations. In P. R. Krishnaiah (eds.), Multivariate Analysis V, pp. 501-522. North-Holland.
smacofSym
, smacofRect
, smacofIndDiff
, smacofSphere.primal
, smacofSphere.dual
## SMACOF with linear configuration constraints data(kinshipdelta) data(kinshipscales) res.lin1 <- smacofConstraint(kinshipdelta, constraint = "linear", external = kinshipscales) ## SMACOF with unique constraints res.unique <- smacofConstraint(kinshipdelta, constraint = "unique", external = kinshipscales) ## SMACOF with diagonal constraints res.diag <- smacofConstraint(kinshipdelta, constraint = "diagonal", external = kinshipscales) ## Fitting a simplex with q = 14 (i.e., n-1), diagonal constraints res.simp <- smacofConstraint(kinshipdelta, constraint = "diagonal", external = list("simplex", 14)) ## Fitting a circumplex with q = 10, k1 = 2, k2 = 8, diagonal constraints res.circ <- smacofConstraint(kinshipdelta, constraint = "diagonal", external = list("circumplex", 10, 2, 8))