We are happy to share msPCA, an R package for sparse principal component analysis with multiple components, now on CRAN.
Standard PCA produces dense loadings — every component loads on every variable. Sparse PCA restricts each component to a small number of variables, making results easier to interpret. The hard part with multiple components is enforcing non-redundancy: components should not just repeat the same information.
A distinctive feature is explicit control over the non-redundancy definition:
feasibilityConstraintType = 0: orthogonal loading vectors (geometric non-redundancy)feasibilityConstraintType = 1: zero pairwise correlation between components (statistical non-redundancy)
Both are enforced with a user-controllable tolerance — something most other sparse PCA packages do not offer.
Package site: https://jeanpauphilet.github.io/msPCA/
CRAN: https://CRAN.R-project.org/package=msPCA
Paper: https://doi.org/10.48550/arXiv.2209.14790