pivotCoord | R Documentation |
Pivot coordinates as a special case of isometric logratio coordinates and their inverse mapping.
pivotCoord(
x,
pivotvar = 1,
fast = FALSE,
method = "pivot",
base = exp(1),
norm = "orthonormal"
)
isomLR(x, fast = FALSE, base = exp(1), norm = "sqrt((D-i)/(D-i+1))")
isomLRinv(x)
pivotCoordInv(x, norm = "orthonormal")
isomLRp(x, fast = FALSE, base = exp(1), norm = "sqrt((D-i)/(D-i+1))")
isomLRinvp(x)
x |
object of class data.frame or matrix. Positive values only. |
pivotvar |
pivotal variable. If any other number than 1, the data are resorted in that sense that the pivotvar is shifted to the first part. |
fast |
if TRUE, it is approx. 10 times faster but numerical problems in case of high-dimensional data may occur. Only available for method “pivot”. |
method |
pivot takes the method described in the description. Method "symm" uses symmetric pivot coordinates (parameters pivotvar and norm have then no effect) |
base |
a positive or complex number:
the base with respect to which logarithms are computed. Defaults to |
norm |
if FALSE then the normalizing constant is not used, if TRUE |
Pivot coordinates map D-part compositional data from the simplex into a (D-1)-dimensional real space isometrically. From our choice of pivot coordinates, all the relative information about one of parts (or about two parts) is aggregated in the first coordinate (or in the first two coordinates in case of symmetric pivot coordinates, respectively).
The data represented in pivot coordinates
Matthias Templ, Karel Hron, Peter Filzmoser
Egozcue J.J., Pawlowsky-Glahn, V., Mateu-Figueras, G., Barcel'o-Vidal, C. (2003) Isometric logratio transformations for compositional data analysis. Mathematical Geology, 35(3) 279-300.
Filzmoser, P., Hron, K., Templ, M. (2018) Applied Compositional Data Analysis. Springer, Cham.
require(MASS)
Sigma <- matrix(c(5.05,4.95,4.95,5.05), ncol=2, byrow=TRUE)
z <- pivotCoordInv(mvrnorm(100, mu=c(0,2), Sigma=Sigma))
data(expenditures)
## first variable as pivot variable
pivotCoord(expenditures)
## third variable as pivot variable
pivotCoord(expenditures, 3)
x <- exp(mvrnorm(2000, mu=rep(1,10), diag(10)))
system.time(pivotCoord(x))
system.time(pivotCoord(x, fast=TRUE))
## without normalizing constant
pivotCoord(expenditures, norm = "orthogonal") # or:
pivotCoord(expenditures, norm = "1")
## other normalization
pivotCoord(expenditures, norm = "-sqrt((D-i)/(D-i+1))")
# symmetric balances (results in 2-dim symmetric pivot coordinates)
pivotCoord(expenditures, method = "symm")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.