NEWS
spca 1.1.4 (2026-09-23)
- spca's parameter
fixed_index_list now accepts same index in different
components it also allows to require that only some components have fixed
indices.
- created new class
pca for pca() output with its own methods.
- renamed pca plotting methods to
scree_plot and mp_qqplot(). Old functions kept as deprecated
- scree_plot produces x-axis with integer tick-marks
- Heat map has low = red and high = blue
- eliminated help entries in index for deprecated functions
- improved symmetry check for gramian input
- fixed minor bugs in methods, reinforced checks for cor and n_obs in mp_qqplot
and pca
- reviewed and harmonized vignettes with JSS article
spca 1.1.3 (2026-08-31)
Renamed loadings to weights
- objects now return
weights, as documented.
- same changes in C++ code but no need of backcompatibility
- preserved backward compatibility by retaining the old function names as
deprecated wrappers for the new S3 methods
- preserved compatibility with older spca objects containing loadings-named
elements through internal accessors
Converted functions to methods and added new ones
- changed function
aggregate_by_group_spca() to method aggregate_by_group()
- changed function
show_contributions_spca() to method show_weights()
- added method
show_correlations()
- changed function
change_weights_sign_spca() to method change_sign()
- changed functions
spca_screeplot() and wachter_qqplot() to methods
screeplot_spca() and qqplot_spca()
-- first argument changed from eigenvalues to pca_obj
in qqplot_spca(), arguments n and p changed to n_vars and n_obs
- added the method show_correlations to visualize the correlations between sPCs
and their correlation with the original PCs.
- pca() output takes class c("spca_pca", "spca", "list").
Other cosmetic changes
- summary now returns cor_Pcs by default
- removed ggplot warnings aboout missing data
spca 1.1.2
- fixed cor_with_pcs sign in change_loadings_sign_spca
spca 1.1.1 (2026-07-10)
- fixes for release
- removed windows only compiler flags
- removed references to deceased website
- various minor changes
spca 1.1.0
Major changes
- Added projection SPCA (
method = "pspca"), including a new C++ implementation.
- Added a dedicated C++ backend for fat matrices, where the number of variables exceeds the number of observations.
- Redesigned the C++ tall-matrix engine for improved speed, memory use, and maintainability.
- Refactored the C++ codebase so large objects are passed by reference where appropriate.
- Added
try/catch wrappers around the main C++ entry points to improve error reporting from compiled code.
R interface
- Reworked the main
spca() interface while preserving the core LS-SPCA workflow.
- Rewrote
plot.spca() with improved bar plots, circular plots, heat maps, grouping support, and plotting controls.
- Rewrote
new_spca() to make externally computed sparse loading matrices easier to store and inspect as spca objects.
- Improved printing and summary methods for
spca objects.
- Improved comparison tools for multiple sparse PCA fits.
- Added or revised helper functions for grouped summaries, diagnostics, and validation.
Reliability and testing
- Added a
testthat test suite.
- Fixed multiple issues in the R interface and C++ backend.
- Improved input validation and error messages.
- Fixed edge cases affecting sparse loadings, component summaries, and variance-explained diagnostics.
Documentation
- Rewrote and expanded the package documentation.
- Rewrote the vignettes for the revamped package.
- Updated examples to reflect the current interface and available LS-SPCA methods.
- Added documentation for projection SPCA and the tall/fat backend distinction.
spca 1.0.0
Major rewrite
- First full release of the revamped
spca package.
- Replaced the previous computational core with a new C++ backend.
- Added separate computational paths for tall and fat data matrices.
- Added projection SPCA as a new LS-SPCA method.
- Updated the package interface to support the redesigned backend.
Package structure
- Reorganized internal R and C++ code.
- Improved consistency of returned
spca objects.
- Updated exported functions and methods to use a common object structure.
- Added tests and revised examples for the new implementation.
spca 0.9.0
Development release
- Introduced the new C++ tall-matrix engine.
- Began migration of computational routines from the earlier implementation to the redesigned backend.
- Added preliminary support for projection SPCA.
- Improved memory handling in compiled code.
- Updated internal validation routines.
spca 0.8.0
Development release
- Reworked plotting methods for
spca objects.
- Added improved graphical comparison of loadings and contributions.
- Added support for grouped variables in summaries and plots.
- Revised helper functions used by examples and vignettes.
- Improved documentation of sparse loadings, contributions, VEXP, CVEXP, and component correlations.
spca 0.7.0
Development release
- Began the package revamp following version 0.6.0.
- Reorganized the R interface around fitted
spca objects.
- Improved print and summary output.
- Added early validation and diagnostic improvements.
- Fixed several bugs from the previous CRAN release.
spca 0.6.0 (2014-12-16)