Compute the isometric planar transform of a (dataset of) composition(s) and its inverse.
ipt( x , V = ilrBase(x),... )
iptInv( z , V = ilrBase(z=z),...,orig=gsi.orig(z))
uciptInv( z , V = ilrBase(z=z),...,orig=gsi.orig(z) )
a composition or a data matrix of compositions, not necessarily closed
the ipt-transform of a composition or a data matrix of ipt-transforms of compositions
a matrix with columns giving the chosen basis of the clr-plane
generic arguments. not used.
a compositional object which should be mimicked by the inverse transformation. It is especially used to reconstruct the names of the parts.
ipt
gives the centered planar transform,
iptInv
gives closed compositions with with the given ipt-transforms,
uciptInv
unconstrained iptInv does the same as iptInv but
sets illegal values to NA rather than giving an error. This is a
workaround to allow procedures not honoring the constraints of the
space.
The ipt-transform maps a composition in the D-part real-simplex isometrically to a D-1 dimensonal euclidian vector. Although the transformation does not reach the whole \(R^{D-1}\), resulting covariance matrices are typically of full rank.
The data can then
be analysed in this transformation by all classical multivariate
analysis tools. However, interpretation of results may be
difficult, since the
transform does not keep the variable names, given that there is no
one-to-one relation between the original parts and each transformed variables. See
cpt
and apt
for alternatives.
The isometric planar transform is given by
$$ ipt(x) := V^t cpt(x) $$
with cpt
(x) the centred planar transform and
\(V\in R^{d \times (d-1)}\) a matrix which columns form an orthonormal
basis of the clr-plane. A default matrix \(V\) is given by
ilrBase(D)
van den Boogaart, K.G. and R. Tolosana-Delgado (2008) "compositions": a unified R package to analyze Compositional Data, Computers & Geosciences, 34 (4), pages 320-338, doi:10.1016/j.cageo.2006.11.017.
# NOT RUN {
(tmp <- ipt(c(1,2,3)))
iptInv(tmp)
iptInv(tmp) - clo(c(1,2,3)) # 0
data(Hydrochem)
cdata <- Hydrochem[,6:19]
pairs(ipt(cdata))
# }
Run the code above in your browser using DataLab