yeo.johnson | R Documentation |
Computes the Yeo-Johnson transformation, which is a normalizing transformation.
yeo.johnson(y, lambda, derivative = 0,
epsilon = sqrt(.Machine$double.eps), inverse = FALSE)
y |
Numeric, a vector or matrix. |
lambda |
Numeric. It is recycled to the same length as
|
derivative |
Non-negative integer. The default is
the ordinary function evaluation, otherwise the derivative
with respect to |
epsilon |
Numeric and positive value. The tolerance given
to values of |
inverse |
Logical. Return the inverse transformation? |
The Yeo-Johnson transformation can be thought of as an extension of the Box-Cox transformation. It handles both positive and negative values, whereas the Box-Cox transformation only handles positive values. Both can be used to transform the data so as to improve normality. They can be used to perform LMS quantile regression.
The Yeo-Johnson transformation or its inverse, or its
derivatives with respect to lambda
, of y
.
If inverse = TRUE
then the
argument derivative = 0
is required.
Thomas W. Yee
Yeo, I.-K. and Johnson, R. A. (2000). A new family of power transformations to improve normality or symmetry. Biometrika, 87, 954–959.
Yee, T. W. (2004). Quantile regression via vector generalized additive models. Statistics in Medicine, 23, 2295–2315.
lms.yjn
,
boxcox
.
y <- seq(-4, 4, len = (nn <- 200))
ltry <- c(0, 0.5, 1, 1.5, 2) # Try these values of lambda
lltry <- length(ltry)
psi <- matrix(NA_real_, nn, lltry)
for (ii in 1:lltry)
psi[, ii] <- yeo.johnson(y, lambda = ltry[ii])
## Not run:
matplot(y, psi, type = "l", ylim = c(-4, 4), lwd = 2,
lty = 1:lltry, col = 1:lltry, las = 1,
ylab = "Yeo-Johnson transformation",
main = "Yeo-Johnson transformation with some lambda values")
abline(v = 0, h = 0)
legend(x = 1, y = -0.5, lty = 1:lltry, legend = as.character(ltry),
lwd = 2, col = 1:lltry)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.