Learn R Programming

scales (version 1.2.1)

yj_trans: Yeo-Johnson transformation

Description

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

Usage

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. http://www.jstor.org/stable/2673623

Examples

Run this code
plot(yj_trans(-1), xlim = c(-10, 10))
plot(yj_trans(0), xlim = c(-10, 10))
plot(yj_trans(1), xlim = c(-10, 10))
plot(yj_trans(2), xlim = c(-10, 10))

Run the code above in your browser using DataLab