HH (version 2.2-17)

ladder: Draw a "ladder of powers" plot, plotting each of several powers of y against the same powers of x.

Description

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)

Usage

ladder(formula.in, data=sys.parent(),
       main.in="Ladders of Powers",
       panel.in=panel.cartesian,
       xlab=deparse(formula.in[[3]]),
       ylab=deparse(formula.in[[2]]),
       scales=list(alternating=if.R(s=TRUE, r=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=1,
       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
       ...)

ladder3(x, y, dsx=deparse(substitute(x)), dsy=deparse(substitute(y)), ladder.function=ladder.f)

ladder.f(x)

ladder.fstar(x)

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, ...)

Arguments

Value

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. llr{ 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.

Details

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.

References

Heiberger, Richard M. and Holland, Burt (2004b). Statistical Analysis and Data Display: An Intermediate Course with Examples in S-Plus, R, and SAS. Springer Texts in Statistics. Springer. ISBN 0-387-40270-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.

See Also

panel.cartesian

Examples

Run this code
## some country names have embedded blanks
tv <- if.R(r=
           read.fwf(hh("datasets/tv.dat"),
                    widths=c(22,6,7,7,4,2),
                    strip.white=TRUE,
                    na.strings="*",
                    row.names=1)
           ,s=
           read.table(hh("datasets/tv.dat"),
                      sep=c(1,23,29,36,43,47),
                      na.strings="*")
           )
names(tv) <- c("life.exp","ppl.per.tv","ppl.per.phys",
               "fem.life.exp","male.life.exp")


## Default: single strip label per panel
ladder(life.exp ~ ppl.per.phys, data=tv,
       main="Ladder of Powers for Life Expectancy and People per Physician",
       dsx="ppp", dsy="le")

## double strip label
if.R(r=
ladder(life.exp ~ ppl.per.phys, data=tv,
       main="Ladder of Powers for Life Expectancy and People per Physician",
       strip.number=2,
       dsx="ppp", dsy="le")
,s=
ladder(life.exp ~ ppl.per.phys, data=tv,
       main="Ladder of Powers for Life Expectancy and People per Physician",
       strip.number=2,
       dsx="ppp", dsy="le",
       axis3.line=1.2)
)

## turn off strip labels
if.R(r=
ladder(life.exp ~ ppl.per.phys, data=tv,
       strip.number=0,,
       main="Ladder of Powers for Life Expectancy and People per Physician")
,s=
ladder(life.exp ~ ppl.per.phys, data=tv,
       strip.number=0,,
       main="Ladder of Powers for Life Expectancy and People per Physician",
       axis3.line=0)
)

Run the code above in your browser using DataCamp Workspace