Draw a "ladder of powers" plot, plotting each of several powers of y against the same powers of x.
Draw a "ladder of powers" plot, plotting each of several powers of y against the same powers of x. The powers are
result <- data.frame(-1/x, -1/sqrt(x), log(x), sqrt(x), x, x^2)
names(result) <- c(-1, -.5, 0, .5, 1, 2)
ladder(formula.in, data=NULL, main.in="Ladders of Powers", panel.in=panel.cartesian, xlab=deparse(formula.in[[3]]), ylab=deparse(formula.in[[2]]), scales=list(alternating=FALSE, labels=FALSE, ticks=FALSE, cex=.6), par.strip.text=list(cex=.6), cex=.5, pch=16, between=list(x=.3, y=.3), dsx=xlab, dsy=ylab, ladder.function=ladder.f, strip.number=2, strip.names, strip.style=1, strip, oma=c(0,0,0,0), ## S-Plus axis3.line=.61, layout=c(length(tmp$x.power), length(tmp$y.power)), axis.key.padding = 10, ## R right axis key.axis.padding = 10, ## R top axis useOuter=TRUE, ## R useOuterStrips(combineLimits(result)) ...) ladder3(x, y, dsx=deparse(substitute(x)), dsy=deparse(substitute(y)), ladder.function=ladder.f) ladder.f(x, name.prefix="") ladder.fstar(x, name.prefix="") strip.ladder(which.given, which.panel, var.name, factor.levels, shingle.intervals, par.strip.text=trellis.par.get("add.text"), strip.names=c(TRUE,TRUE), style=1, ...)
formula.in |
A formula with exactly one variable on each side. |
data |
data.frame |
main.in |
|
panel.in |
|
xlab, ylab |
Trellis arguments, default to right- and left-sides
of the |
strip |
Strip function. Our default is |
cex, pch, between, scales, layout |
arguments for |
dsx, dsy |
Names to be used as level names in
|
ladder.function |
function to use to create data.frame of powers of input variable. |
name.prefix |
Base name used for column names of powers. The
default is empty ( |
strip.number |
Number of strip labels in each panel of the display.
0: no strip labels; 1: one strip label of the form |
useOuter |
logical, defaults to |
strip.style |
|
oma |
argument to |
... |
other arguments to |
axis3.line |
extra space to make the top axis align with the top of the top row of panels. Trial and error to choose a good value. |
axis.key.padding |
Extra space on right of set of panels in R. |
key.axis.padding |
Extra space on top of set of panels in R. |
x, y |
variables. |
which.given, which.panel, var.name, factor.levels,
shingle.intervals, par.strip.text |
See
|
strip.names, style |
We always print the |
The ladder
function uses panel.cartesian
which is
defined differently in R (using grid graphics) and S-Plus (using
traditional graphics). Therefore the fine control over appearance
uses different arguments or different values for the same arguments.
ladder
returns a "trellis"
object.
The functions ladder.fstar
and ladder.f
take an input
vector x
of non-negative values and construct a data.frame by
taking the input to the powers c(-1, -.5, 0, .5, 1, 2)
, one
column per power. ladder.f
uses the simple powers and
ladder.fstar
uses the scaled Box–Cox transformation.
ladder.fstar |
ladder.fstar |
notation |
(x^p - 1)/p |
(x^p - 1)/p |
p |
(1/x - 1)/(-1) |
(1/x - 1)/(-1) |
-1.0 |
(1/sqrt(x)-1)/(-.5) |
(1/sqrt(x)-1)/(-.5) |
-0.5 |
log(x) |
log(x) |
0.0 |
((sqrt(x)-1)/.5) |
((sqrt(x)-1)/.5) |
0.5 |
x-1 |
x-1 |
1.0 |
(x^2 - 1)/2 |
(x^2 - 1)/2 |
2.0 |
ladder3
takes two vectors as arguments. It returns a
data.frame
with five columns:
X, Y
: data to be plotted. The column X
contains the data
from the input x
taken to all the powers and aligned with the
similarly expanded column Y
.
x, y
: symbolic labeling of the power corresponding to X,Y
.
group
: result from pasting the labels in x, y
with *
between them.
Richard M. Heiberger <rmh@temple.edu>
Heiberger, Richard M. and Holland, Burt (2015). Statistical Analysis and Data Display: An Intermediate Course with Examples in R. Second Edition. Springer-Verlag, New York. https://www.springer.com/us/book/9781493921218
Hoaglin, D.~C., Mosteller, F., and Tukey, J.~W., editors (1983). Understanding Robust and Exploratory Data Analysis. Wiley.
Box, G. E.~P. and Cox, D.~R. (1964). An analysis of transformations. J. Royal Statist Soc B, 26:211–252.
data(tv) ## default ## R: outer strip labels ladder(life.exp ~ ppl.per.phys, data=tv, main="Ladder of Powers for Life Expectancy and People per Physician") ## Not run: ## one strip label ladder(life.exp ~ ppl.per.phys, data=tv, strip.number=1, useOuter=FALSE, dsx="ppp", dsy="le") ## two strip labels ladder(life.exp ~ ppl.per.phys, data=tv, strip.number=2, useOuter=FALSE) ## outer strip labels ladder(life.exp ~ ppl.per.phys, data=tv, useOuter=TRUE) ## no strip labels (probably silly, but possible) ladder(life.exp ~ ppl.per.phys, data=tv, strip.number=0, useOuter=FALSE) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.