interaction2wt {HH}R Documentation

Plot all main effects and twoway interactions in a multifactor design

Description

The main diagonal displays boxplots for the main effects of each factor. The off-diagonals show the interaction plots for each pair of factors. The i,j panel shows the same factors as the j,i but with the trace- and x-factor roles interchanged.

Usage

interaction2wt(x, ...)

## S3 method for class 'formula':
interaction2wt(x, data = sys.parent(), responselab, ...)

## Default S3 method:
interaction2wt(x,
               response.var,
               responselab = deparse(substitute(response.var)),
               responselab.expression = responselab,
               relation = list(x = "same", y = "same"),
               x.relation = relation$x,
               y.relation = relation$y,
               digits = 3,
               x.between=if (label.as.interaction.formula) 0 else 1,
               y.between=if (label.as.interaction.formula) 0 else 1,
               between,
               cex = 0.75,
               rot=c(0,0),
               panel.input = panel.interaction2wt,
               strip.input =
                if (label.as.interaction.formula) strip.default
                else strip.interaction2wt,
               par.strip.text.input = trellis.par.get()$add.text,
               scales.additional,
               main.in =
                 paste(responselab,
                       ": main effects and 2-way interactions",
                       sep = ""),
               xlab = list(labels = ""),
               ylab = list(labels = ""),
               simple=FALSE,
               box.ratio=if (simple) .32 else 1,
               label.as.interaction.formula=TRUE,
               ...,
               main.cex,
               key.cex.title=trellis.par.get()$par.xlab.text$cex,
               key.cex.text=trellis.par.get()$axis.text$cex,
               factor.expressions=names.x
)

Arguments

Arguments when x is a formula.

x The object on which method dispatch is carried out.
For the "formula" method, a formula describing the response variable and factors. The formula is generally of the form y ~ g1 + g2 + .... There may be one or more factors in the formula.
For the "default" method, data.frame of factors. This is usually constructed by formula method from the input data and the input formula.
data For the formula method, a data frame containing values for any variables in the formula. In the R version, if not found in data, or if data is unspecified, the variables are looked for in the environment of the formula.
responselab Character name of response variable, defaults to the name of the response variable in the formula.
responselab.expression plotmath or character name of response variable, defaults to responselab.
... additional arguments, primarily trellis arguments.
response.var For the "default" method, the response variable. This is usually constructed by formula method from the input data and the input formula.
simple logical. TRUE if simple effects are to be displayed. Arguments simple.offset, simple.scale, and col.by.row may also be needed. See panel.interaction2wt for details.
box.ratio bwplot in R or bwplot in S-Plus.
relation trellis argument.
x.relation x value of relation argument.
y.relation y value of relation argument.
digits doesn't do anything at the moment
x.between x value of between argument.
y.between y value of between argument.
between trellis/lattice between argument. If used, between has precedence over both the x.between and y.between arguments.
cex S-Plus: changes the size of the median dot in the boxplots. R: doesn't do anything.
panel.input panel function. Default is panel.interaction2wt.
label.as.interaction.formula logical. If TRUE, each panel has a single strip label of the form y ~ a | b. If FALSE, each panel has a pair of strip labels, one for the trace factor and one for the x factor.
strip.input strip function. Default depends on the value of label.as.interaction.formula.
par.strip.text.input par.strip.text argument.
scales.additional additional arguments to scales argument.
main.in Text of main title.
xlab No effect.
ylab No effect.
main.cex cex for main title.
key.cex.title cex key title. Defaults to cex for xlab.
key.cex.text cex group names in key. Defaults to cex for axis.text.
factor.expressions Expressions for titles of keys and xlab for each column. Defaults to the names of the factors in the input formula.
rot Rotation of x tick labels and y tick labels. Only 0 and 90 will look good.

Value

"trellis" object containing the plot.

Author(s)

Richard M. Heiberger <rmh@temple.edu>

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.

See Also

panel.interaction2wt

Examples

vulcan <- read.table(hh("datasets/vulcan.dat"), header=TRUE)
vulcan$filler <- factor(vulcan$filler)
position(vulcan$raw) <- (1:4)+.5
position(vulcan$pretreat) <- 2:4
interaction2wt(wear ~ filler + pretreat + raw, data=vulcan,
               par.strip.text=list(cex=.8))
interaction2wt(wear ~ filler + raw, data=vulcan,
               simple=TRUE)
interaction2wt(wear ~ filler + raw, data=vulcan,
               simple=TRUE, simple.scale=c(filler=.15, raw=.2))

if.R(r={
  ToothGrowth <- ToothGrowth  ## local copy
  ToothGrowth$dose <- positioned(ToothGrowth$dose) ## modify local copy
print(
  anova(aov(len ~ supp*dose, data=ToothGrowth))
)
print(
  interaction2wt(len ~ supp + dose, data=ToothGrowth)
)

esoph=esoph
esoph$rate=with(esoph, ncases/ncontrols)

position(esoph$alcgp) <- 2:5
position(esoph$tobgp) <- 2:5

print(
interaction2wt(rate ~ agegp + alcgp + tobgp, esoph, rot=c(90,0),
               par.strip.text=list(cex=.8))
)

old.cex <- trellis.par.set(par.xlab.text=list(cex=.8))
print(
interaction2wt(rate ~ agegp + alcgp + tobgp, esoph, rot=c(90,0),
               par.strip.text=list(cex=.8),
               factor.expressions=c(
                  agegp=expression(Age~~(years)),
                  alcgp=expression(Alcohol~
                                   bgroup("(",scriptstyle(frac(gm, day)),")")),
                  tobgp=expression(Tobacco~
                                   bgroup("(",scriptstyle(frac(gm,
day)),")"))),
                  responselab.expression="Cancer\nRate",
           main.in="Esophogeal Cancer Rate ~ Alcohol Consumption + Tobacco Consumption", main.cex=1.2)
)

par(old.cex)

esoph.aov <- aov(rate ~ agegp + alcgp + tobgp, data=esoph)
print(
anova(esoph.aov)
)
}, s={})

[Package HH version 2.1-25 Index]