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 |
rotate |
|
normalize |
|
flip |
|
eps |
|
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
Examples
## use the "swiss" data
fa <- factanal( ~., 2, data = swiss, rotation = "none")
rotation(loadings(fa))