Compositional Data Analysis
Methods for analysis of compositional data including robust
methods (), imputation of missing values (), methods to replace
rounded zeros (, , ),
count zeros (),
methods to deal with essential zeros (), (robust) outlier
detection for compositional data, (robust) principal component analysis for
compositional data, (robust) factor analysis for compositional data, (robust)
discriminant analysis for compositional data (Fisher rule), robust regression
with compositional predictors, functional data analysis () and p-splines (),
contingency ()
and compositional tables (, , )
and (robust) Anderson-Darling normality tests for
compositional data as well as popular 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.
{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))