Principal Component of Explained Variance

Principal component of explained variance (PCEV) is a statistical tool for the analysis of a multivariate response vector. It is a dimension- reduction technique, similar to Principal component analysis (PCA), that seeks to maximize the proportion of variance (in the response vector) being explained by a set of covariates.

Build Status CRAN Downloads

R package which implements Principal components of explained variance (PCEV).

PCEV is a statistical tool for the analysis of a mutivariate response vector. It is a dimension-reduction technique, similar to Principal Components Analysis (PCA), that seeks to maximize the proportion of variance (in the response vector) being explained by a set of covariates. It implements three versions:

  • the classic version, when p < n;
  • the singular version, when p > n;
  • the block version, our extension of the algorithm for the case of a high number of data points (p>>n).

For the first two versions, we provide hypothesis testing based on Roy's largest root.

For more information you can look at the vignette. Alternatively, if you have already installed the package along with the vignette, you can access the vignette from within R by using the following command:



This package is available on CRAN. Alternatively, you can install from GitHub using the devtools package:

devtools::install_github('GreenwoodLab/pcev', build_vignettes = TRUE)

The main function is computePCEV, and indeed most users will only need this one function. See the documentation for more information about its parameters and for some examples.


  • Turgeon, M., Oualkacha, K., Ciampi, A., Miftah, H., Dehghan, G., Zanke, B.W., Benedet, A.L., Rosa-Neto, P., Greenwood, C.M.T., Labbe, A., for the Alzheimer’s Disease Neuroimaging Initiative. “Principal component of explained variance: an efficient and optimal data dimension reduction framework for association studies”. To appear in Statistical Methods in Medical Research.


pcev 2.2.2

  • Fixed to remove warnings due to conditions of length greater than one and recycling arrays in vector-array arithmetic

  • Updated CITATION file

pcev 2.2.1

  • Added adaptive selection of blocks; see documentation for computePCEV.

pcev 2.1.1

  • Added estimation = "singular"; this option uses reduced-rank SVD for computing the component and the largest roo.

  • Added methods roysPval.PcevSingular and permutePval.PcevSingular

  • Expanded BLK data with multiple cell types.

pcev 1.1.2

  • Fixed the Johnstone approximation for Roy's largest root test.

  • Removed VIMPblock, as it is meaningless.

  • Added the possibility of computing multiple components (only for estimation = "all").

  • Changed how default values for computePCEV are handled internally.

  • Throw a meaningful error when there is missing data.

pcev 1.1.1

  • Added vignette and examples.

  • Changed the exact test when using shrinkage estimator.

pcev 1.0.0

  • First release.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


2.2.2 by Maxime Turgeon, a year ago

Report a bug at

Browse source code at

Authors: Maxime Turgeon [aut, cre] , Aurelie Labbe [aut] , Karim Oualkacha [aut] , Stepan Grinek [aut]

Documentation:   PDF Manual  

GPL (>= 2) license

Imports RMTstat, stats, corpcor

Suggests knitr

See at CRAN