bestNormalize (version 1.8.2)

# 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.t

transformed original data

x

original data

mean

mean after transformation but prior to standardization

sd

sd after transformation but prior to standardization

lambda

estimated lambda value for skew transformation

n

number of nonmissing observations

norm_stat

Pearson's P / degrees of freedom

standardize

was 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.

`boxcox`

## 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)
# }
```