Last data update: 2014.03.03

R: Compute a transform using the 'biexponential' function
biexponentialTransformR Documentation

Compute a transform using the 'biexponential' function

Description

The 'biexponential' is an over-parameterized inverse of the hyperbolic sine. The function to be inverted takes the form biexp(x) = a*exp(b*(x-w))-c*exp(-d*(x-w))+f with default parameters selected to correspond to the hyperbolic sine.

Usage

biexponentialTransform(transformationId="defaultBiexponentialTransform", a = 0.5, b = 1, c = 0.5, d = 1, f = 0, w = 0, tol = .Machine$double.eps^0.25, maxit = as.integer(5000))

Arguments

transformationId

A name to assign to the transformation. Used by the transform/filter integration routines.

a

See the function description above. Defaults to 0.5

b

See the function description above. Defaults to 1.0

c

See the function description above. Defaults to 0.5 (the same as a)

d

See the function description above. Defaults to 1 (the same as b)

f

A constant bias for the intercept. Defaults to 0.

w

A constant bias for the 0 point of the data. Defaults to 0.

tol

A tolerance to pass to the inversion routine (uniroot usually)

maxit

A maximum number of iterations to use, also passed to uniroot

Value

Returns values giving the inverse of the biexponential within a certain tolerance. This function should be used with care as numerical inversion routines often have problems with the inversion process due to the large range of values that are essentially 0. Do not be surprised if you end up with population splitting about w and other odd artifacts.

Author(s)

B. Ellis, N Gopalakrishnan

See Also

transform

Examples

# Construct some "flow-like" data which tends to be hetereoscedastic.
data(GvHD)
biexp  <- biexponentialTransform("myTransform")

after.1 <- transform(GvHD, transformList('FSC-H', biexp))

biexp  <- biexponentialTransform("myTransform",w=10)
after.2 <- transform(GvHD, transformList('FSC-H', biexp))

opar = par(mfcol=c(3, 1))
plot(density(exprs(GvHD[[1]])[, 1]), main="Original")
plot(density(exprs(after.1[[1]])[, 1]), main="Standard Transform")
plot(density(exprs(after.2[[1]])[, 1]), main="Shifted Zero Point")

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(flowCore)
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/flowCore/biexponentialTransform.Rd_%03d_medium.png", width=480, height=480)
> ### Name: biexponentialTransform
> ### Title: Compute a transform using the 'biexponential' function
> ### Aliases: biexponentialTransform
> ### Keywords: methods
> 
> ### ** Examples
> 
> # Construct some "flow-like" data which tends to be hetereoscedastic.
> data(GvHD)
> biexp  <- biexponentialTransform("myTransform")
> 
> after.1 <- transform(GvHD, transformList('FSC-H', biexp))
> 
> biexp  <- biexponentialTransform("myTransform",w=10)
> after.2 <- transform(GvHD, transformList('FSC-H', biexp))
> 
> opar = par(mfcol=c(3, 1))
> plot(density(exprs(GvHD[[1]])[, 1]), main="Original")
> plot(density(exprs(after.1[[1]])[, 1]), main="Standard Transform")
> plot(density(exprs(after.2[[1]])[, 1]), main="Shifted Zero Point")
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>