ladder | R Documentation |
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://link.springer.com/book/10.1007/978-1-4939-2122-5
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.
panel.cartesian
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.