# boxcox: Box-Cox Normalization

## Description

Perform a Box-Cox transformation and center/scale a vector to
attempt normalization

## Usage

boxcox(x, standardize = TRUE, ...)# S3 method for boxcox
predict(object, newdata = NULL, inverse = FALSE, ...)

# S3 method for boxcox
print(x, ...)

## Arguments

x

A vector to normalize with Box-Cox

standardize

If TRUE, the transformed values are also centered and
scaled, such that the transformation attempts a standard normal

...

Additional arguments that can be passed to the estimation of the
lambda parameter (lower, upper, epsilon)

object

an object of class 'boxcox'

newdata

a vector of data to be (reverse) transformed

inverse

if TRUE, performs reverse transformation

## Value

A list of class `boxcox`

with elements

x.ttransformed
original data

xoriginal data

meanmean after transformation but prior to standardization

sdsd after transformation but prior to standardization

lambdaestimated lambda value for skew transformation

nnumber of nonmissing observations

norm_statPearson's P / degrees of freedom

standardizewas the transformation standardized

The predict function returns the numeric value of the transformation
performed on new data, and allows for the inverse transformation as well.
## Details

`boxcox`

estimates the optimal value of lambda for the Box-Cox
transformation. This transformation can be performed on new data, and
inverted, via the `predict`

function.

The function will return an error if a user attempt to transform nonpositive
data.

## References

Box, G. E. P. and Cox, D. R. (1964) An analysis of
transformations. Journal of the Royal Statistical Society B, 26, 211-252.

## Examples

# NOT RUN {
x <- rgamma(100, 1, 1)
bc_obj <- boxcox(x)
bc_obj
p <- predict(bc_obj)
x2 <- predict(bc_obj, newdata = p, inverse = TRUE)
all.equal(x2, x)
# }