Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

procrustes

Procrustes transform


Description

Procrustes transform Y = pXR (after centering), where p is a scaling coefficient and R is a rotation matrix that minimize ||Y - pXR||_F.

Usage

procrustes(Y, X, n_iter_max = 1000, epsilon_min = 1e-07)

Arguments

Y

Reference matrix.

X

Matrix to transform (ncol(X) >= ncol(Y)).

n_iter_max

Maximum number of iterations. Default is 1000.

epsilon_min

Convergence criterion. Default is 1e-7.

Value

Object of class "procrustes", a list with the following elements:

  • $R: the rotation matrix to apply to X,

  • $rho: the scaling coefficient to apply to X,

  • $c: the column centering to apply to the resulting matrix,

  • $diff: the average difference between Y and X transformed.

You can use method predict() to apply this transformation to other data.

Examples

A <- matrix(rnorm(200), ncol = 20)
B <- matrix(rnorm(length(A)), nrow = nrow(A))

proc <- procrustes(B, A)
str(proc)
plot(B, predict(proc, A)); abline(0, 1, col = "red")

bigutilsr

Utility Functions for Large-scale Data

v0.3.4
GPL-3
Authors
Florian Privé [aut, cre]
Initial release
2021-04-08

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.