Learn R Programming

{robCompositions}

Robust Methods for Compositional Data

using robCompositions

data(expenditures)

p1 <- pcaCoDa(expenditures)

plot(p1)

What is it?

  • Imputation of compositional data including robust methods, methods to impute rounded zeros
  • Outlier detection for compositional data using robust methods
  • Principal component analysis for compositional data using robust methods
  • Factor analysis for compositional data using robust methods
  • Discriminant analysis for compositional data (Fisher rule) using robust methods
  • Robust regression with compositional predictors
  • Anderson-Darling normality tests for compositional data
  • log-ratio transformations (addLR, cenLR, isomLR, and their inverse transformations).
  • In addition, visualisation and diagnostic tools are implemented as well as high and low-level plot functions for the ternary diagram.

Goals

  • never use classical statistical methods on raw compositional data again.

Getting Started

Dependencies

The package has dependencies on

R (>= 2.10), utils, robustbase, rrcov, car (>= 2.0-0), MASS, pls

Installation

Installion of robCompositions is really easy for registered users (when the R-tools are installed). Just use

library(devtools)
install_github("robCompositions", "matthias-da")

Examples

k nearest neighbor imputation

data(expenditures)

expenditures[1,3]

expenditures[1,3] <- NA

impKNNa(expenditures)$xImp[1,3]

iterative model based imputation

data(expenditures)

x <- expenditures

x[1,3]

x[1,3] <- NA

xi <- impCoda(x)$xImp

xi[1,3]

s1 <- sum(x[1,-3])

impS <- sum(xi[1,-3])

xi[,3] * s1/impS

xi <- impKNNa(expenditures)

xi

summary(xi)

plot(xi, which=1)

plot(xi, which=2)

plot(xi, which=3)

pca

data(expenditures)

p1 <- pcaCoDa(expenditures)

p1

plot(p1)

outlier detection

data(expenditures)

oD <- outCoDa(expenditures)

oD

plot(oD)

transformations

data(arcticLake)

x <- arcticLake

x.alr <- addLR(x, 2)

y <- addLRinv(x.alr)

addLRinv(addLR(x, 3))

data(expenditures)

x <- expenditures

y <- addLRinv(addLR(x, 5))

head(x)

head(y)

addLRinv(x.alr, ivar=2, useClassInfo=FALSE)

data(expenditures)

eclr <- cenLR(expenditures)

inveclr <- cenLRinv(eclr)

head(expenditures)

head(inveclr)

head(cenLRinv(eclr$x.clr))

require(MASS)

Sigma <- matrix(c(5.05,4.95,4.95,5.05), ncol=2, byrow=TRUE)

z <- isomLRinv(mvrnorm(100, mu=c(0,2), Sigma=Sigma))

Copy Link

Version

Install

install.packages('robCompositions')

Monthly Downloads

1,186

Version

2.6.0

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Matthias Templ

Last Published

June 15th, 2026

Functions in robCompositions (2.6.0)

arcticLake

arctic lake sediment data
adtest

Anderson-Darling Normality Tests
adjust

Adjusting for original scale
bpcTabWrapper

Backwards pivot coordinates and their inverse
bootnComp

Bootstrap to find optimal number of components
addLR

Additive logratio coordinates
biplot.pcaCoDa

Biplot method
SDev

Simplicial deviance
bpcPca

Principal component analysis based on backwards pivot coordinates
cancerMN

malignant neoplasms cancer
alcohol

alcohol consumptions by country and type of alcohol
clustCoDa

Cluster analysis for compositional data
expendituresEU

mean consumption expenditures data.
cancer

hospital discharges on cancer and distribution of age
GDPsatis

GDP satisfaction
daFisher

Discriminant analysis by Fisher Rule.
bpc

Backwards pivot coordinates and their inverse
chorizonDL

C-horizon of the Kola data with rounded zeros
addLRinv

Inverse additive logratio mapping
alcoholreg

regional alcohol per capita (15+) consumption by WHO region
compareMahal

Compares Mahalanobis distances from two approaches
compositionalSpline

Compositional spline
ZBsplineBasis

ZB-spline basis
fBPUpChi_PLS

Title
gjovik

gjovik
ced

Compositional error deviation
educFM

education level of father (F) and mother (M)
efsa

efsa nutrition consumption
indTab

Independence table
gm

gmean
intTab

Interaction table
aDist

Aitchison distance
fcenLR

fcenLR transformation (functional)
instw

value added, output and input for different ISIC codes and countries.
economy

economic indicators
foodbalance

country food balances
biomarker

biomarker
int2x2

Interaction 2x2 table
fcenLRinv

Inverse of fcenLR transformations (functional)
constSum

Constant sum
adtestWrapper

Wrapper for Anderson-Darling tests
honey

honey compositions
gemas

GEMAS geochemical data set
biplot.factanal

Biplot method
contaminate_simplex

Generate cellwise-contaminated compositional data
haplogroups

haplogroups data
bpcTab

Backwards pivot coordinates and their inverse
bpcRegTab

Classical and robust regression based on backwards pivot coordinates
outCoDa

Outlier detection for compositional data
is.equivalent

equivalence class
orthbasis

Orthonormal basis
plot.cellNetCoDa

Plot method for cellwise-robust compositional networks
ageCatWorld

child, middle and eldery population
cellNetCoDa

Cellwise-robust network estimation for compositional data
pTab

Propability table
impRZalr

alr EM-based imputation of rounded zeros
cellPcaCoDa

Cellwise-robust PCA for compositional data
election

election data
employment2

Employment in different countries by Sex, Age, Contract, Value
bpcReg

Classical and robust regression based on backwards pivot coordinates
payments

special payments
landcover

European land cover
coffee

coffee data set
employment

employment in different countries by gender and status.
clustCoDa_qmode

Q-mode cluster analysis for compositional parts
cubeCoord

Coordinate representation of a compositional cube and of a sample of compositional cubes
daCoDa

Linear and quadratic discriminant analysis for compositional data.
bpcPcaTab

Principal component analysis of compositional tables based on backwards pivot coordinates
lifeExpGdp

life expectancy and GDP (2008) for EU-countries
imputeBDLs

EM-based replacement of rounded zeros in compositional data
imputeUDLs

Imputation of values above an upper detection limit in compositional data
ind2x2

Independence 2x2 compositional table
isic32

ISIC codes by name
intArray

Interaction array
plot.imp

Plot method for objects of class imp
missPatterns

missing or zero pattern structure.
plot.pcaCoDa

Plot method
rcodes

codes for UNIDO tables
stats

Classical estimates for tables
rSDev.test

Relative simplicial deviance tests
mortality

mortality and life expectancy in the EU
trapzc

Trapezoidal formula for numerical integration
gmean_sum

Geometric mean
expenditures

synthetic household expenditures toy data set
variation

Robust and classical variation matrix
govexp

government spending
laborForce

labour force by status in employment
electionATbp

Austrian presidential election data
employment_df

Employment in different countries by gender and status.
weightedPivotCoord

Weighted pivot coordinates
trondelagC

regional geochemical survey of soil C in Norway
summary.cellNetCoDa

Summary method for cellwise-robust compositional networks
phd_totals

PhD students in the EU (totals)
cenLRinv

Inverse centred logratio mapping
cenLR

Centred logratio coefficients
impCoda

Imputation of missing values in compositional data
print.cellPcaCoDa

Print method for cellwise-robust compositional PCA
pcaCoDa

Robust principal component analysis for compositional data
pivotCoord

Pivot coordinates and their inverse
rdcm

relative difference between covariance matrices
machineOperators

machine operators
print.imp

Print method for objects of class imp
norm1

Normalize a vector to length 1
mortality_tab

mortality table
lmCoDaX

Classical and robust regression of non-compositional (real) response on compositional and non-compositional predictors
rSDev

Relative simplicial deviance
smoothSplinesVal

Estimate density from histogram - for different alpha
smoothSplines

Estimate density from histogram
impKNNa

Imputation of missing values in compositional data using knn methods
perturbation

Perturbation and powering
coord

Coordinate representation of compositional tables
summary.cellPcaCoDa

Summary method for cellwise-robust compositional PCA
plot.cellPcaCoDa

Plot method for cellwise-robust compositional PCA
robCompositions-package

Robust Estimation for Compositional Data.
production

production splitted by nationality on enterprise level
tabCoord

Coordinate representation of compositional tables and a sample of compositional tables
teachingStuff

teaching stuff
corCoDa

Correlations for compositional data
ilr.2x2

ilr coordinates in 2x2 compositional tables
fcenLRp

fcenLRp transformation (functional)
fcenLRu

fcenLRu transformation (functional)
summary.imp

Summary method for objects of class imp
impAll

Replacement of rounded zeros and missing values.
manu_abs

Distribution of manufacturing output
spca_logrs

Function making a matrix of D(D-1) logratios and calculating sparse PCA.
precipitation

24-hour precipitation
print.cellNetCoDa

Print method for cellwise-robust compositional networks
socExp

social expenditures
ternaryDiagEllipse

Adds tolerance ellipses to a ternary diagram.
ternaryDiagPoints

Add points or lines to a given ternary diagram.
plot.smoothSpl

plot smoothSpl
trondelagO

regional geochemical survey of soil O in Norway
mcad

metabolomics mcad data set
unemployed

unemployed of young people
phd

PhD students in the EU
nutrients

nutrient contents
pfa

Factor analysis for compositional data
nutrients_branded

nutrient contents (branded)
pls_pb

Function calculating a set of (D-1) principal balances based on PLS.
skyeLavas

aphyric skye lavas data
saffron

saffron compositions
ternaryDiagAbline

Adds a line to a ternary diagram.
zeroOut

Detection of outliers of zero-inflated data
ternaryDiag

Ternary diagram
balances

Balance calculation