| boxcox | R Documentation |
Functions related with the Box-Cox family of transformations.
Density and random generation for the Box-Cox transformed normal
distribution with mean
equal to mean and standard deviation equal to sd, in the normal scale.
rboxcox(n, lambda, lambda2 = NULL, mean = 0, sd = 1)
dboxcox(x, lambda, lambda2 = NULL, mean = 0, sd = 1)
lambda |
numerical value(s) for the transformation parameter
|
lambda2 |
logical or numerical value(s) of the additional transformation
(see DETAILS below). Defaults to |
n |
number of observations to be generated. |
x |
a vector of quantiles ( |
mean |
a vector of mean values at the normal scale. |
sd |
a vector of standard deviations at the normal scale. |
Denote Y the variable at the original scale and Y' the
transformed variable. The Box-Cox transformation is defined by:
Y' = \left\{ \begin{array}{ll}
log(Y)
\mbox{ , if $\lambda = 0$} \cr
\frac{Y^\lambda - 1}{\lambda} \mbox{ , otherwise}
\end{array} \right.
.
An additional shifting parameter \lambda_2 can be
included in which case the transformation is given by:
Y' = \left\{
\begin{array}{ll}
log(Y + \lambda_2)
\mbox{ , $\lambda = 0$ } \cr
\frac{(Y + \lambda_2)^\lambda - 1}{\lambda} \mbox{ , otherwise}
\end{array} \right.
.
The function rboxcox samples Y' from the normal distribution using
the function rnorm and backtransform the values according to the
equations above to obtain values of Y.
If necessary the back-transformation truncates the values such that
Y' \geq \frac{1}{\lambda} results in
Y = 0 in the original scale.
Increasing the value of the mean and/or reducing the variance might help to avoid truncation.
The functions returns the following results:
rboxcox |
a vector of random deviates. |
dboxcox |
a vector of densities. |
Paulo Justiniano Ribeiro Jr. paulojus@leg.ufpr.br,
Peter J. Diggle p.diggle@lancaster.ac.uk.
Box, G.E.P. and Cox, D.R.(1964) An analysis of transformations. JRSS B 26:211–246.
The parameter estimation function is boxcoxfit.
Other packages has BoxCox related functions such as boxcox in the package MASS and
the function box.cox in the package ‘car’.
## Simulating data
simul <- rboxcox(100, lambda=0.5, mean=10, sd=2)
##
## Comparing models with different lambdas,
## zero means and unit variances
curve(dboxcox(x, lambda=-1), 0, 8)
for(lambda in seq(-.5, 1.5, by=0.5))
curve(dboxcox(x, lambda), 0, 8, add = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.