optimizeNewLambda {rliger} | R Documentation |
Perform factorization for new lambda value
Description
Uses an efficient strategy for updating that takes advantage of the information in the existing factorization; always uses previous k. Recommended mainly when re-optimizing for higher lambda and when new lambda value is significantly different; otherwise may not return optimal results.
Usage
optimizeNewLambda(
object,
lambdaNew,
nIteration = 30,
seed = 1,
verbose = getOption("ligerVerbose"),
new.lambda = lambdaNew,
max.iters = nIteration,
rand.seed = seed,
thresh = NULL
)
Arguments
object |
liger object. Should have integrative
factorization (e.g. |
lambdaNew |
Numeric regularization parameter. Larger values penalize dataset-specific effects more strongly. |
nIteration |
Number of block coordinate descent iterations to
perform. Default |
seed |
Random seed to allow reproducible results. Default |
verbose |
Logical. Whether to show information of the progress. Default
|
new.lambda , max.iters , rand.seed |
These arguments are now replaced by others and will be removed in the future. Please see usage for replacement. |
thresh |
Deprecated. New implementation of iNMF does not require
a threshold for convergence detection. Setting a large enough
|
Value
Input object
with optimized factorization values updated.
including the W
matrix in liger object, and H
and
V
matrices in each ligerDataset object in the
datasets
slot.
See Also
runINMF
, optimizeNewK
,
optimizeNewData
Examples
pbmc <- normalize(pbmc)
pbmc <- selectGenes(pbmc)
pbmc <- scaleNotCenter(pbmc)
if (requireNamespace("RcppPlanc", quietly = TRUE)) {
# Only running a few iterations for fast examples
pbmc <- runINMF(pbmc, k = 20, nIteration = 2)
pbmc <- optimizeNewLambda(pbmc, lambdaNew = 5.5, nIteration = 2)
}