Learn R Programming

coda.base

Log-Ratio Coordinates for Compositional Data

This R package provides tools for analyzing compositional data using log-ratio coordinates. It enables users to define coordinate systems tailored to compositional datasets and to generate coordinates based on these systems.

The package focuses on the construction and application of orthonormal and non-orthonormal coordinate systems for representing compositions in real space, facilitating advanced statistical modeling and interpretation.

Key Functions

  • ilr_basis(), alr_basis(), clr_basis() – classical log-ratio bases:

    • ILR/OLR (Isometric/Orthonormal Log-Ratio): orthonormal basis.
    • ALR (Additive Log-Ratio): basis with respect to a reference part.
    • CLR (Centered Log-Ratio): non-orthonormal, but symmetrically treats all parts.
  • pc_basis(), pb_basis(), pw_basis() – domain-specific and data-driven bases:

    • PC basis: based on principal component analysis of log-ratio coordinates.
    • PB basis (Principal balances): variability explain by balances.
    • PW (Pairwise Log-Ratios): pairwise comparisons.
  • coordinates(x, basis): expresses a composition x in coordinates with respect to a given basis.

  • composition(z, basis): reconstructs a composition from coordinates z and the associated basis.

Example

library(coda.base)

# Define a simple 3-part composition
x <- c('a' = 0.2, 'b' = 0.3, 'c' = 0.5)

# Create an ILR basis and express x in ILR coordinates
B <- ilr_basis(x)
h <- coordinates(x, B)  
h

# Recover the original composition
composition(h, B)

Installation

You can install the development version from GitHub:

# Install development version from GitHub
remotes::install_github("mcomas/coda.base")

and the cran version with:

# Install release version from CRAN
install.packages("coda.base")

Copy Link

Version

Install

install.packages('coda.base')

Monthly Downloads

808

Version

1.0.3

License

GPL

Issues

Pull Requests

Stars

Forks

Maintainer

Marc ComasCuf

Last Published

July 2nd, 2025

Functions in coda.base (1.0.3)

eurostat_employment

Employment distribution in EUROSTAT countries
foraminiferals

Paleocological compositions
pc_basis

Isometric log-ratio basis based on Principal Components.
pb_basis

Isometric log-ratio basis based on Principal Balances.
pottery

Chemical compositions of Romano-British pottery
gmean

Geometric Mean
house_expend

Household expenditures
pollen

Pollen composition in fossils
variation_array

Variation array is returned.
waste

The waste composition in Catalonia
statistitian_time

A statistician’s time budget
mammals_milk

Mammal’s milk
serprot

Serum proteins
composition

Get composition from coordinates w.r.t. an specific basis
coda_replacement

Replacement of Missing Values and Below-Detection Zeros in Compositional Data
milk_cows

Milk composition study
petrafm

Calc-alkaline and tholeiitic volcanic rocks
weibo_hotels

Hotel posts in social media
montana

Concentration of minor elements in carbon ashes
read_cdp

Import data from a codapack workspace
plot_balance

Plot a balance
sbp_basis

Isometric log-ratio basis based on Balances
clr_basis

Centered log-ratio basis
bmi_activity

Physical activity and body mass index
cc_basis

Isometric Log-Ratio Basis Based on Canonical Correlations
coda.base

coda.base
center

Dataset center
alr_basis

Additive log-ratio basis
cdp_partition

CoDaPack's default binary partition
ilr_basis

Isometric/Orthonormal Log-Ratio Basis for Log-Transformed Compositions
dist

Distance Matrix Computation (including Aitchison distance)
arctic_lake

Arctic lake sediments at different depths
alimentation

Food consumption in European countries
blood_mn

The MN blood system
household_budget

Household budget patterns
coordinates

Get coordinates from compositions w.r.t. an specific basis
parliament2017

Results of catalan parliament elections in 2017 by regions.
pairwise_basis

Pairwise log-ratio generator system
kilauea_iki

Chemical Composition of Volcanic Rocks from Kilauea Iki