transform_yj: Yeo-Johnson transformation

View source: R/transform-numeric.R

transform_yjR Documentation

Yeo-Johnson transformation

Description

The Yeo-Johnson transformation is a flexible transformation that is similar to Box-Cox, transform_boxcox(), but does not require input values to be greater than zero.

Usage

transform_yj(p)

yj_trans(p)

Arguments

p

Transformation exponent, \lambda.

Details

The transformation takes one of four forms depending on the values of y and \lambda.

  • y \ge 0 and \lambda \neq 0 : y^{(\lambda)} = \frac{(y + 1)^\lambda - 1}{\lambda}

  • y \ge 0 and \lambda = 0: y^{(\lambda)} = \ln(y + 1)

  • y < 0 and \lambda \neq 2: y^{(\lambda)} = -\frac{(-y + 1)^{(2 - \lambda)} - 1}{2 - \lambda}

  • y < 0 and \lambda = 2: y^{(\lambda)} = -\ln(-y + 1)

References

Yeo, I., & Johnson, R. (2000). A New Family of Power Transformations to Improve Normality or Symmetry. Biometrika, 87(4), 954-959. https://www.jstor.org/stable/2673623

Examples

plot(transform_yj(-1), xlim = c(-10, 10))
plot(transform_yj(0), xlim = c(-10, 10))
plot(transform_yj(1), xlim = c(-10, 10))
plot(transform_yj(2), xlim = c(-10, 10))

scales documentation built on July 4, 2024, 1:11 a.m.