R-CMD-check codecov CodeFactor Dependencies

r-universe CRAN Version CRAN checks CRAN Downloads

Project Status: Active – The project has reached a stable, usable state and is being actively developed.



Simple Principal Components Analysis (PCA; see vignette("pca")) and Correspondence Analysis (CA) based on the Singular Value Decomposition (SVD). This package provides S4 classes and methods to compute, extract, summarize and visualize results of multivariate data analysis. It also includes methods for partial bootstrap validation.

There are many very good packages for multivariate data analysis (such as FactoMineR, ade4, vegan or ca, all extended by FactoExtra). dimensio is designed to be as simple as possible, providing all the necessary tools to explore the results of the analysis.

To cite dimensio in publications use:

  Frerebeau N (2023). _dimensio: Multivariate Data Analysis_.
  Université Bordeaux Montaigne, Pessac, France.
  doi:10.5281/zenodo.4478530 <https://doi.org/10.5281/zenodo.4478530>,
  R package version 0.4.0, <https://packages.tesselle.org/dimensio/>.

Une entrée BibTeX pour les utilisateurs LaTeX est

    author = {Nicolas Frerebeau},
    title = {{dimensio: Multivariate Data Analysis}},
    year = {2023},
    organization = {Université Bordeaux Montaigne},
    address = {Pessac, France},
    note = {R package version 0.4.0},
    doi = {10.5281/zenodo.4478530},
    url = {https://packages.tesselle.org/dimensio/},

This package is a part of the tesselle project


You can install the released version of dimensio from CRAN with:


And the development version from GitHub with:

# install.packages("remotes")


## Install extra packages (if needed)
# install.packages("khroma")

## Load packages


## Load data

## Compute PCA
## (non numeric variables are automatically removed)
X <- pca(iris, center = TRUE, scale = TRUE)
#> 1 qualitative variable was removed: Species.


dimensio provides several methods to extract the results:


The package allows to quickly visualize the results:

The viz_*() functions allow to highlight additional information by varying different graphical elements (color, transparency, shape and size of symbols…).

## Form biplot
biplot(X, type = "form")

## Highlight species
  x = X, 
  highlight = iris$Species, 
  col = khroma::color("high contrast")(3), 
  pch = 16
## Add ellipses
  x = X, 
  group = iris$Species, 
  level = 0.95,
  border = khroma::color("high contrast")(3)

## Highlight petal length
  x = X,
  highlight = iris$Petal.Length,
  col = khroma::color("iridescent")(255), 
  cex = c(1, 2),
  pch = 16

## Plot variables factor map

## Scree plot
screeplot(X, eigenvalues = FALSE, cumulative = TRUE)


Please note that the dimensio project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.