Changelog
multivarious 0.4.0
PLS correlation
- Fixed
plsc()covariance fractions for truncated fits: retained components now use the full squared singular-value sum, so a one-component request no longer reports 100% automatically. Exactly zero cross-covariance returns zero fractions. - Fixed
perm_test.plsc(stepwise = FALSE)to compare each ordered singular value with the corresponding null statistic from one common permutation bank, and evaluate every requested component. It previously repeated the leading statistic. Documentation now distinguishes the block-independence null from the approximate rank interpretation of observed-direction stepwise deflation.
Sparse preprocessing
- Added sparse-aware preprocessing for
Matrixinputs.pass()and sparse-safecolscale()transformations preserve sparse storage, whilecenter()andstandardize()now use a lazy affine representation instead of materializing dense centered matrices by default. - Added explicit sparse preprocessing policies:
sparse = "operator"uses the lazy representation,sparse = "preserve"errors before a densifying transform, andsparse = "allow_dense"opts into dense materialization. - Added matrix-like S4 classes for lazy sparse affine data and its transpose, with methods for
%*%,crossprod(),tcrossprod(),t(), subsetting, dimensions, andas.matrix(). Downstream code can now multiply or form cross-products from transformed sparse data without first densifying it. - Updated
svd_wrapper()andpca()sparse/lazy paths to use implicit sparse SVD backends where possible, avoiding dense centered intermediates for common sparse PCA workflows. - Updated projector and partial-projection paths to multiply through lazy sparse preprocessing views directly.
Behavior changes
-
transform()on a sparse input with centering or standardization may now return asparse_affine_matrixobject. Use regular matrix algebra methods on that object to stay lazy, or callas.matrix()when explicit dense materialization is desired.
multivarious 0.3.2
CRAN release: 2026-06-05
Dependencies
- Removed the optional
PRIMMEbackend fromgeneig()andcPCAplus()(and droppedPRIMMEfromSuggests), as thePRIMMEpackage is scheduled for archival on CRAN. The iterative"rspectra"and"subspace"backends and the dense"geigen"/"robust"/"sdiag"backends cover the same generalized eigenproblems.
Mixed-effect inference
- Added explicit
term_scopesandexchangeabilityoverrides tomixed_regress(), with exchangeability metadata now carried throughsummary(),effect(), and effect-operator printing. - Fixed grouped row-metric whitening/unwhitening for random-effect designs by using the Cholesky orientation implied by the row metric.
- Hardened
perm_test.effect_operator()by making the supported one-sided alternative explicit, preserving seed metadata, honoring explicit exchangeability schemes, and using a fixed statistic family for each sequential permutation step. - Improved
bootstrap.effect_operator()for grouped designs by relabeling duplicated bootstrap clusters as distinct resampled groups, aligning multi-component loadings with an orthogonal Procrustes rotation, and preserving seed metadata.
multivarious 0.3.1
CRAN release: 2026-01-21
Behavior Changes
- Changed
partial_project()defaultleast_squaresfromTRUEtoFALSE. - Changed
project_block.multiblock_projector()defaultleast_squaresfromTRUEtoFALSE(now matchespartial_project()).
Bug Fixes
- Fixed
reconstruct_new.bi_projector()double-preprocessing bug that caused incorrect reconstruction when applied to held-out data. - Fixed blockwise preprocessing paths that could allocate very large temporary matrices with multiblock data, and hardened
standardize()for missing and zero-variance columns.
Vignette Improvements
- Rewrote CrossValidation vignette with working examples (fixed broken
reconstruct()usage and results extraction). - Cleaned up PermutationTesting vignette: improved structure, replaced dense tables with readable prose.
- Cleaned up Regress vignette: broke up long code block into focused subsections.
- Cleaned up Extending vignette: removed commented-out code walls, simplified examples.
Tests
- Added regression tests for
reconstruct_new()on held-out data.
multivarious 0.3.0
CRAN release: 2026-01-21
Bug Fixes
- Fixed T/F shorthand to TRUE/FALSE in
pca()for CRAN compliance. - Converted
\dontrun{}to\donttest{}for executable but slow examples. - Fixed
bootstrap.plsc()duplicate argument handling when called with named X/Y arguments. - Fixed
regress()PLS method dimension mismatch. - Fixed iris data frame to matrix conversion in examples.
Internal Changes
- Registered S3 methods:
classifier.projector,inverse_projection.projector,perm_ci.pca. - Added missing
importFromdirectives forcoefficientsandcombn. - Replaced non-ASCII characters with ASCII equivalents in documentation.
Deprecated
-
prep()is deprecated in favor offit()for preprocessing pipelines. -
perm_ci.pca()is deprecated. -
perm_test.plsc()is deprecated.