Explore the Box-Cox family of distributions by plotting data transformed and untransformed and interactively choose values for lambda.
vis.boxcox(lambda = sample(c(-1,-0.5,0,1/3,1/2,1,2), 1),
hscale=1.5, vscale=1.5, wait=FALSE)vis.boxcoxu(lambda = sample( c(-1,-0.5,0,1/3,1/2,1,2), 1),
y, xlab=deparse(substitute(y)),
hscale=1.5, vscale=1.5, wait=FALSE)
vis.boxcox.old(lambda = sample(c(-1, -0.5, 0, 1/3, 1/2, 1, 2), 1))
vis.boxcoxu.old(lambda = sample(c(-1, -0.5, 0, 1/3, 1/2, 1, 2), 1))
The old versions have no useful return value. If wait
is FALSE
then they will return an invisible NULL, if wait
is TRUE then
the return value will be a list with the final value of lamda
,
the original data, and the transformed y (at the final lamda
value).
The true value of lambda to use.
Optional data to use in the transform.
Label for x-axis.
The horizontal scale, passed to tkrplot
.
The vertical scale, passed to tkrplot
.
Should R wait for the demo window to close.
Greg Snow 538280@gmail.com
These functions will generate a sample of data and plot the
untrasformed data (left panels) and the transformed data (right
panels). Initially the value of lambda
is 1 and the 2 sets of
plots will be identical.
You then adjust the transformation parameter lambda
to see how
the right panels change.
The function vis.boxcox
shows the effect of transforming the
y-variable in a simple linear regression.
The function vis.boxcoxu
shows a single variable compared to
the normal distribution.
GEP Box; DR Cox. An Analysis of Transformations. Journal of the Royal Statitical Society. Series B, Vol. 26, No. 2 (1964) 211-252
bct
, boxcox
in package MASS
if(interactive()) {
vis.boxcoxu()
vis.boxcox()
}
Run the code above in your browser using DataLab