ilr.Rd
This implementation is a special case of the class of isometric log-ratio transformations.
ilr(x) invilr(x)
x | A numeric vector. Naturally, the forward transformation is only sensible for vectors with all elements being greater than zero. |
---|
The result of the forward or backward transformation. The returned components always sum to 1 for the case of the inverse log-ratio transformation.
Peter Filzmoser, Karel Hron (2008) Outlier Detection for Compositional Data Using Robust Methods. Math Geosci 40 233-248
Another implementation can be found in R package robCompositions
.
#> Error in ilr(c(0.1, 1, 10)): konnte Funktion "ilr" nicht finden#> Error in ilr(c(10, 1, 0.1)): konnte Funktion "ilr" nicht finden#> Error in ilr(c(3, 3, 3)): konnte Funktion "ilr" nicht finden#> Error in ilr(c(0.3, 0.4, 0.3)): konnte Funktion "ilr" nicht finden#> Error in invilr(ilr(c(0.7, 0.29, 0.01))): konnte Funktion "invilr" nicht finden#> Error in invilr(ilr(2.1 * c(0.7, 0.29, 0.01))): konnte Funktion "invilr" nicht finden# Inverse transformation of larger numbers gives unequal elements invilr(-10)#> Error in invilr(-10): konnte Funktion "invilr" nicht finden#> Error in invilr(c(-10, 0)): konnte Funktion "invilr" nicht finden#> Error in invilr(c(-10, 0)): konnte Funktion "invilr" nicht finden# This is why we do not need all elements of the inverse transformation to go back: a <- c(0.1, 0.3, 0.5) b <- invilr(a)#> Error in invilr(a): konnte Funktion "invilr" nicht finden#> Error in eval(expr, envir, enclos): Objekt 'b' nicht gefunden#> Error in ilr(c(b[1:3], 1 - sum(b[1:3]))): konnte Funktion "ilr" nicht finden