Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/powerTransform.R

Transform the elements of a vector or columns of a matrix using, the Box-Cox, Box-Cox with negatives allowed, Yeo-Johnson, or simple power transformations.

1 2 3 4 5 6 7 |

`U` |
A vector, matrix or data.frame of values to be transformed |

`lambda` |
Power transformation parameter with one element for eacul column of U, usuallly in
the range from |

`jacobian.adjusted` |
If |

`gamma` |
For bcPower or basicPower, the transformation is of U + gamma, where gamma is a positive number called a start that must be large enough so that U + gamma is strictly positive. For the bcnPower, Box-cox power with negatives allowed, see the details below. |

The Box-Cox family of *scaled power transformations*
equals *(U^(lambda)-1)/lambda*
for *lambda not equal to zero*, and
*log(U)* if *lambda = 0*. If *gamma* is not specified, it is set equal to zero. `U + gamma`

must be strictly positive to use this family.

The Box-Cox family with negatives allowed was proposed by Hawkins and Weisberg (2017). It is the Box-Cox power transformation of *z = .5 * (y + (y^2 + γ^2)^{1/2})*, where *gamma* is strictly positive if *y* includes negative values and non-negative otherwise. The value of *z* is always positive. The bcnPower transformations behave very similarly to the bcPower transformations, including much less bias than is introduced by setting the parameter *gamma* to be non-zero in the Box-Cox family.

If `family="yeo.johnson"`

then the Yeo-Johnson transformations are used.
This is the Box-Cox transformation of *U+1* for nonnegative values,
and of *|U|+1* with parameter *2-lambda* for *U* negative.

The basic power transformation returns *U^{λ}* if *λ*
is not zero, and *\log(λ)* otherwise for *U* strictly positive.

If `jacobian.adjusted`

is `TRUE`

, then the scaled transformations are divided by the
Jacobian, which is a function of the geometric mean of *U* for `skewPower`

and `yjPower`

and of *U + gamma* for `bcPower`

. With this adjustment, the Jacobian of the transformation is always equal to 1.

Missing values are permitted, and return `NA`

where ever `U`

is equal to `NA`

.

Returns a vector or matrix of transformed values.

Sanford Weisberg, <[email protected]>

Fox, J. and Weisberg, S. (2011)
*An R Companion to Applied Regression*, Second Edition, Sage.

Hawkins, D. and Weisberg, S. (2017) Combining the Box-Cox Power and Generalized Log Transformations to Accomodate Negative Responses In Linear and Mixed-Effects Linear Models, submitted for publication.

Weisberg, S. (2014) *Applied Linear Regression*, Fourth Edition, Wiley
Wiley, Chapter 7.

Yeo, In-Kwon and Johnson, Richard (2000) A new family of power
transformations to improve normality or symmetry. *Biometrika*, 87,
954-959.

1 2 3 4 5 6 7 8 9 |

```
Z1^0
[1,] NA
[2,] 0.0000000
[3,] 0.6931472
[4,] 1.0986123
[5,] 1.3862944
[6,] 1.6094379
[7,] 1.7917595
[8,] 1.9459101
Z1^0.5
[1,] NA
[2,] 0.000000
[3,] 1.523048
[4,] 2.691724
[5,] 3.676964
[6,] 4.544977
[7,] 5.329721
[8,] 6.051368
log(Z1)
[1,] NA
[2,] 0.0000000
[3,] 0.6931472
[4,] 1.0986123
[5,] 1.3862944
[6,] 1.6094379
[7,] 1.7917595
[8,] 1.9459101
[1] NA -7.5000000 -4.0000000 -1.5000000 0.0000000 0.6931472 1.0986123
[8] 1.3862944
Z1^0 Z2^2
[1,] 0.0000000 17.5
[2,] 0.6931472 24.0
[3,] 1.0986123 31.5
[4,] 1.3862944 40.0
[5,] 1.6094379 49.5
log(Z1) Z2^1
[1,] 0.0000000 6
[2,] 0.6931472 7
[3,] 1.0986123 8
[4,] 1.3862944 9
[5,] 1.6094379 10
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.