Procrustes Rotations

DESCRIPTION:
Performs procrustes rotations of a matrix toward a target matrix with the options of translation and magnification.

USAGE:
procrustes(amat, target, orthogonal=F, translate=F, magnify=F)

REQUIRED ARGUMENTS:
amat:
the matrix to be rotated. Missing values are not accepted.
target:
matrix the same dimension as amat. Missing values are not accepted.

OPTIONAL ARGUMENTS:
orthogonal:
logical flag: if TRUE, then the rotation will be orthogonal.
translate:
logical flag: if TRUE and if orthogonal is TRUE, then the matrix will be translated toward target.
magnify:
logical flag: if TRUE and if orthogonal is TRUE, then the matrix will be magnified by a factor.

VALUE:
rmat:
the rotated version of amat.
tmat:
the transformation matrix. Thus amat %*% tmat is equal to rmat up to numerical precision.
correlation:

This is present only when orthogonal is FALSE.

magnify:
number giving the magnification. This is present only when orthogonal is TRUE.
translate:
vector giving the translation. This is present only when orthogonal and translate are TRUE.

DETAILS:
The translate and magnify arguments are useful for multi-dimensional scaling.

REFERENCES:
Harman, H. H. (1976). Modern Factor Analysis, 3rd Edition. University of Chicago Press, Chicago.

Mardia, K. V., Kent, J. T. and Bibby, J. M. (1979). Multivariate Analysis. Academic Press, London.


SEE ALSO:
orthomax , obliquemin , rotate , cmdscale .

EXAMPLES:
prim9.pcl <- princomp(prim9)$loadings

procrustes(prim9.pcl[,1:4], matrix(rep(rep(1:0,c(3,8)),length=36),9))