boxcox
Box-Cox Transformations for Linear Models
Computes and optionally plots profile log-likelihoods for the parameter of the Box-Cox power transformation.
- Keywords
- models, hplot, regression
Usage
boxcox(object, ...)## S3 method for class 'default':
boxcox(object, lambda = seq(-2, 2, 1/10), plotit = TRUE,
interp, eps = 1/50, xlab = expression(lambda),
ylab = "log-Likelihood", ...)
## S3 method for class 'formula':
boxcox(object, lambda = seq(-2, 2, 1/10), plotit = TRUE,
interp, eps = 1/50, xlab = expression(lambda),
ylab = "log-Likelihood", ...)
## S3 method for class 'lm':
boxcox(object, lambda = seq(-2, 2, 1/10), plotit = TRUE,
interp, eps = 1/50, xlab = expression(lambda),
ylab = "log-Likelihood", ...)
Arguments
- object
- a formula or fitted model object. Currently only
lm
andaov
objects are handled. - lambda
- vector of values of
lambda
-- default $(-2, 2)$ in steps of 0.1. - plotit
- logical which controls whether the result should be plotted.
- interp
- logical which controls whether spline interpolation is
used. Default to
TRUE
if plotting withlambda
of length less than 100. - eps
- Tolerance for
lambda = 0
; defaults to 0.02. - xlab
- defaults to
"lambda"
. - ylab
- defaults to
"log-Likelihood"
. - ...
- additional parameters to be used in the model fitting.
Value
- A list of the
lambda
vector and the computed profile log-likelihood vector, invisibly if the result is plotted.
Side Effects
If plotit = TRUE
plots log-likelihood vs lambda
and
indicates a 95% confidence interval about the maximum observed value
of lambda
. If interp = TRUE
, spline interpolation is
used to give a smoother plot.
References
Box, G. E. P. and Cox, D. R. (1964) An analysis of transformations (with discussion). Journal of the Royal Statistical Society B, 26, 211--252. Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth edition. Springer.
Examples
boxcox(Volume ~ log(Height) + log(Girth), data = trees,
lambda = seq(-0.25, 0.25, length = 10))
boxcox(Days+1 ~ Eth*Sex*Age*Lrn, data = quine,
lambda = seq(-0.05, 0.45, len = 20))