Learn R Programming

asymmetry (version 2.0.5)

mdsunique: MDS Model with Unique Dimensions

Description

This asymmetric MDS model proposed by Holman (1979) and is related to a constrained scaling model developed by Bentler & Weeks (1982).The model has two sets of dimensions, shared or common dimensions and the other set are unique dimensions. There are common dimensions that apply to all objects in the analysis, and unique dimensions that apply to one object and not the other objects. A unique dimension has a non zero value for only one object, the coordinates for the other objects are zero. There are as many unique dimensions as there are objects. An asymmetric version of this model has two sets of unique dimensions: one for the rows and one for the columns. The distance in this model is defined as: $$d_{ij}(X)=\sqrt{\sum_{s=1}^p (x_{is}-x_{js})^2 + r_{i}^{2}+c_{j}^{2}}.$$

Usage

mdsunique(data, weight = NULL, ndim = 2, verbose = FALSE, itmax = 125, eps = 1e-12)

Value

ndim

Number of dimensions of the configuration

fulldim

Number of dimensions of the full model, this equals ndim + the number of rows + the number of columns

stress

The raw stress for this model

confi

Returns the configuration matrix of shared dimensions of this multidimensional scaling model

X

Returns the configuration matrix of the full model consisting of shared and unique dimensions

niter

The number of iterations for the algorithm to converge

nobj

The number of objects in this model

resid

A matrix with raw residuals

model

Name of this asymmetric multidimensional scaling model

row

The unique dimensions for the rows

col

The unique dimensions for the columns

unique

The unique dimensions

Arguments

data

Asymmetric dissimilarity matrix

weight

Optional non-negative matrix with weights, if no weights are given all weights are set equal to one

ndim

Number of dimensions

verbose

If true, prints the iteration history to screen

itmax

Maximum number of iterations

eps

Convergence criterion for Stress

Examples

Run this code
if (FALSE) {
data("studentmigration")
mm<-studentmigration
mm[mm==0]<-.5          # replace zeroes by a small number
mm <- -log(mm/sum(mm)) # convert similarities to dissimilarities
v<-mdsunique(mm, ndim = 2, itmax = 2100, verbose=FALSE, eps = .0000000001)
plot(v, yplus = .3)
}

Run the code above in your browser using DataLab