msPCA: Sparse Principal Component Analysis with Multiple Principal Components

Implements an algorithm for computing multiple sparse principal components of a dataset. The method is based on Cory-Wright and Pauphilet "Sparse PCA with Multiple Components" (2026) <doi:10.1287/opre.2023.0598>. The algorithm uses an iterative deflation heuristic with a truncated power method applied at each iteration to compute sparse principal components with controlled sparsity.

Version: 0.5.1
Depends: R (≥ 3.5)
Imports: Rcpp (≥ 1.0.11)
LinkingTo: Rcpp, RcppEigen
Suggests: covr, datasets, knitr, rmarkdown, testthat (≥ 3.0.0)
Published: 2026-08-25
DOI: 10.32614/CRAN.package.msPCA
Author: Ryan Cory-Wright ORCID iD [aut, cph], Jean Pauphilet ORCID iD [aut, cre, cph]
Maintainer: Jean Pauphilet <jpauphilet at london.edu>
BugReports: https://github.com/jeanpauphilet/msPCA/issues
License: MIT + file LICENSE
URL: https://jeanpauphilet.github.io/msPCA/
NeedsCompilation: yes
Citation: msPCA citation info
Materials: README, NEWS
In views: ChemPhys, MachineLearning
CRAN checks: msPCA results

Documentation:

Reference manual: msPCA.html , msPCA.pdf
Vignettes: Algorithm and implementation notes (source, R code)
Case study: sparse factors in S&P 500 returns (source, R code)
Worked example: msPCA on mtcars (source, R code)

Downloads:

Package source: msPCA_0.5.1.tar.gz
Windows binaries: r-devel: msPCA_0.5.0.zip, r-release: msPCA_0.5.0.zip, r-oldrel: msPCA_0.5.0.zip
macOS binaries: r-release (arm64): msPCA_0.5.0.tgz, r-oldrel (arm64): msPCA_0.5.0.tgz, r-release (x86_64): msPCA_0.5.0.tgz, r-oldrel (x86_64): msPCA_0.5.0.tgz
Old sources: msPCA archive

Linking:

Please use the canonical form https://CRAN.R-project.org/package=msPCA to link to this page.