rotation {epca}R Documentation

Varimax Rotation

Description

Perform varimax rotation. Flip the signs of columns so that the resulting matrix is positive-skewed.

Usage

rotation(
  x,
  rotate = c("varimax", "absmin"),
  normalize = FALSE,
  flip = TRUE,
  eps = 1e-06
)

Arguments

x

a matrix or Matrix.

rotate

character(1), rotation method. Two options are currently available: "varimax" (default) or "absmin" (see details).

normalize

logical, whether to rows normalization should be done before and undone afterward the rotation (see details).

flip

logical, whether to flip the signs of the columns of estimates such that all columns are positive-skewed (see details).

eps

numeric precision tolerance.

Details

rotate: The rotate option specifies the rotation technique to use. Currently, there are two build-in options—“varimax” and “absmin”. The “varimax” rotation maximizes the element-wise L4 norm of the rotated matrix. It is faster and computationally more stable. The “absmin” rotation minimizes the absolute sum of the rotated matrix. It is sharper (as it directly minimizes the L1 norm) but slower and computationally less stable.

normalize: The argument normalize gives an indication of if and how any normalization should be done before rotation, and then undone after rotation. If normalize is FALSE (the default) no normalization is done. If normalize is TRUE then Kaiser normalization is done. (So squared row entries of normalized x sum to 1.0. This is sometimes called Horst normalization.) For rotate="absmin", if normalize is a vector of length equal to the number of indicators (i.e., the number of rows of x), then the columns are divided by normalize before rotation and multiplied by normalize after rotation. Also, If normalize is a function then it should take x as an argument and return a vector which is used like the vector above.

flip: The argument flip gives an indication of if and the columns of estimated sparse component should be flipped. Note that the estimated (sparse) loadings, i.e., the weights on original variables, are column-wise invariant to a sign flipping. This is because flipping of a principal direction does not influence the amount of the explained variance by the component. If flip=TRUE, then the columns of loadings will be flip accordingly, such that each column is positive-skewed. This means that for each column, the sum of cubic elements (i.e., sum(x^3)) are non-negative.

Value

the rotated matrix of the same dimension as x.

References

Chen, F. and Rohe, K. (2020) "A New Basis for Sparse Principal Component Analysis."

See Also

prs, varimax

Examples

## use the "swiss" data
fa <- factanal( ~., 2, data = swiss, rotation = "none")
rotation(loadings(fa))

[Package epca version 1.1.0 Index]