Perform varimax rotation on a low rank matrix factorization
Usage
# S3 method for class 'svd_like'
vsp(
x,
rank,
...,
centerer = NULL,
scaler = NULL,
recenter = FALSE,
renormalize = FALSE,
kaiser_normalize_u = FALSE,
kaiser_normalize_v = FALSE,
rownames = NULL,
colnames = NULL,
match_columns = TRUE
)
Arguments
- x
Either a graph adjacency matrix, igraph::igraph or tidygraph::tbl_graph. If
x
is a matrix or Matrix::Matrix thenx[i, j]
should correspond to the edge going from nodei
to nodej
.- rank
The number of factors to calculate.
- ...
These dots are for future extensions and must be empty.
- centerer
TODO
- scaler
TODO
- recenter
Should the varimax factors be re-centered around the original factor means? Only used when
center = TRUE
, defaults toFALSE
.- renormalize
Should the regularized graph laplacian be used instead of the raw adjacency matrix? Defaults to
TRUE
. Ifcenter = TRUE
,A
will first be centered and then normalized.- kaiser_normalize_u
Whether or not to use Kaiser normalization when rotating the left singular vectors
U
. Defaults toFALSE
.- kaiser_normalize_v
Whether or not to use Kaiser normalization when rotating the right singular vectors
V
. Defaults toFALSE
.- rownames
Character vector of row names of
x
. These row names are propagated into the row names of theU
andZ
. Defaults toNULL
.- colnames
Character vector of column names of
x
. These column names are propagated into the row names of theV
andY
. Defaults toNULL
.- match_columns
Should the columns of
Y
be re-ordered such thatY[, i]
corresponds toZ[, i]
to the extent possible? Defaults toTRUE
. Typically helps with interpretation, and often makesB
more diagonally dominant.