cdt: Centered default transform

View source: R/compositions.R

cdtR Documentation

Centered default transform

Description

Compute the centered default transform of a (data set of) compositions or amounts (or its inverse).

Usage

          cdt(x,...)
          ## Default S3 method:
cdt( x ,...)
          ## S3 method for class 'acomp'
cdt( x ,...)
          ## S3 method for class 'rcomp'
cdt( x ,...)
          ## S3 method for class 'aplus'
cdt( x ,...)
          ## S3 method for class 'rplus'
cdt( x ,...)
          ## S3 method for class 'rmult'
cdt( x ,...)
          ## S3 method for class 'ccomp'
cdt( x ,...)
          ## S3 method for class 'factor'
cdt( x ,...)
          ## S3 method for class 'data.frame'
cdt( x ,...)
          cdtInv(x,orig=gsi.orig(x),...)
          ## Default S3 method:
cdtInv( x ,orig=gsi.orig(x),...)
          ## S3 method for class 'acomp'
cdtInv( x ,orig=gsi.orig(x),...)
          ## S3 method for class 'rcomp'
cdtInv( x ,orig=gsi.orig(x),...)
          ## S3 method for class 'aplus'
cdtInv( x ,orig=gsi.orig(x),...)
          ## S3 method for class 'rplus'
cdtInv( x ,orig=gsi.orig(x),...)
          ## S3 method for class 'rmult'
cdtInv( x ,orig=gsi.orig(x),...)
          ## S3 method for class 'ccomp'
cdtInv( x ,orig=gsi.orig(x),...)
          ## S3 method for class 'factor'
cdtInv( x ,orig=gsi.orig(x),...)
          ## S3 method for class 'data.frame'
cdtInv( x ,orig=gsi.orig(x),...)
          

Arguments

x

a classed (matrix of) amount or composition, to be transformed with its centered default transform, or its inverse; in case of the method for data.frame objects, the function attempts to track information about a previous class (in an attribute origClass, and if found, a cdt/Inv transformation is tried with it; for factors, cdt expands the factor in indicator values for each category, or vice-versa.)

...

generic arguments past to underlying functions.

orig

a compositional object which should be mimicked by the inverse transformation. It is used to determine the backtransform to be used and eventually to reconstruct the names of the parts. It is the generic argument. Typically this argument is extracted from x, but if this fails you can give the data set that has be transformed in the first place.

Details

The general idea of this package is to analyse the same data with different geometric concepts, in a fashion as similar as possible. For each of the four concepts there exists a unique transform expressing the geometry in a linear subspace, keeping the relation to the variables. This unique transformation is computed by cdt. For acomp the transform is clr, for rcomp it is cpt, for aplus it is ilt, and for rplus it is iit. Each component of the result is identified with a unit vector in the direction of the corresponding component of the original composition or amount. Keep in mind that the transform is not necessarily surjective and thus variances in the image space might be singular.

Value

A corresponding matrix or vector containing the transforms. (Exception: cdt.data.frame can return a data.frame if the input has no "origClass"-attribute)

Author(s)

R. Tolosana-Delgado, K.Gerald v.d. Boogaart http://www.stat.boogaart.de

References

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, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.cageo.2006.11.017")}.

See Also

backtransform, idt, clr, cpt, ilt, iit

Examples

## Not run: 
# the cdt is defined by
cdt         <- function(x) UseMethod("cdt",x)
cdt.default <- function(x) x
cdt.acomp   <- clr 
cdt.rcomp   <- cpt 
cdt.aplus   <- ilt 
cdt.rplus   <- iit 

## End(Not run)
x <- acomp(1:5)
(ds <- cdt(x))
cdtInv(ds,x)
(ds <- cdt(rcomp(1:5)))
cdtInv(ds,rcomp(x))
  data(Hydrochem)
  x = Hydrochem[,c("Na","K","Mg","Ca")]
  y = acomp(x)
  z = cdt(y)
  y2 = cdtInv(z,y)
  par(mfrow=c(2,2))
  for(i in 1:4){plot(y[,i],y2[,i])}


compositions documentation built on June 22, 2024, 12:15 p.m.