Skip to content

tesselle/dimensio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dimensio

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.

DOI

Overview

Simple Principal Components Analysis (PCA; see vignette("pca")) and (Multiple) 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 (2024). _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.7.0, <https://packages.tesselle.org/dimensio/>.

A BibTeX entry for LaTeX users is

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

This package is a part of the tesselle project
<https://www.tesselle.org>.

Installation

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

install.packages("dimensio")

And the development version from GitHub with:

# install.packages("remotes")
remotes::install_github("tesselle/dimensio")

Usage

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

## Load packages
library(dimensio)

Compute

## Load data
data(iris)

## Compute PCA
X <- pca(iris, center = TRUE, scale = TRUE, sup_quali = "Species")

Extract

dimensio provides several methods to extract the results:

  • get_data() returns the original data.
  • get_contributions() returns the contributions to the definition of the principal dimensions.
  • get_coordinates() returns the principal or standard coordinates.
  • get_correlations() returns the correlations between variables and dimensions.
  • get_cos2() returns the cos2 values (i.e.¬†the quality of the representation of the points on the factor map).
  • get_eigenvalues() returns the eigenvalues, the percentages of variance and the cumulative percentages of variance.

Visualize

The package allows to quickly visualize the results:

  • biplot() produces a biplot.
  • screeplot() produces a scree plot.
  • viz_rows()/viz_individuals() displays row/individual principal coordinates.
  • viz_columns()/viz_variables() displays columns/variable principal coordinates. viz_variables() depicts the variables by rays emanating from the origin (both their lengths and directions are important to the interpretation).
  • viz_contributions() displays (joint) contributions.
  • viz_cos2() displays (joint) cos2.

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
viz_individuals(
  x = X, 
  highlight = iris$Species, 
  col = khroma::color("high contrast")(3), 
  pch = 16
)
## Add ellipses
viz_tolerance(
  x = X, 
  group = iris$Species, 
  level = 0.95,
  border = khroma::color("high contrast")(3)
)

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

## Plot variables factor map
viz_variables(X)

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

Contributing

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.