R: Centered default transform

cdt {compositions} | R 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, 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])}

[Package compositions version 2.0-4 Index]