Learn R Programming

DescTools (version 0.99.53)

BoxCox: Box Cox Transformation

Description

BoxCox() returns a transformation of the input variable using a Box-Cox transformation.
BoxCoxInv() reverses the transformation.

Usage

BoxCox(x, lambda)
BoxCoxInv(x, lambda)

Value

a numeric vector of the same length as x.

Arguments

x

a numeric vector

lambda

transformation parameter

Author

Rob J Hyndman <rob.hyndman@monash.edu>

Details

The Box-Cox transformation is given by

$$f_\lambda(x) = \left\{\begin{array}{ll} \frac{x^\lambda - 1}{\lambda} &\textup{for }\lambda \neq 0\\ log(x) &\textup{for }\lambda = 0 \end{array}\right. $$

References

Box, G. E. P. and Cox, D. R. (1964) An analysis of transformations. JRSS B 26 211--246.

See Also

Use BoxCoxLambda or boxcox in library(MASS) to find optimal lambda values.

Examples

Run this code
# example by Greg Snow
x <- rlnorm(500, 3, 2)

par(mfrow=c(2,2))
qqnorm(x, main="Lognormal")
qqnorm(BoxCox(x, 1/2), main="BoxCox(lambda=0.5)")
qqnorm(BoxCox(x, 0), main="BoxCox(lambda=0)")

PlotFdist(BoxCox(x, 0))

bx <- BoxCox(x, lambda = BoxCoxLambda(x) )

Run the code above in your browser using DataLab