The main diagonal
displays boxplots for the main effects of each factor. The
offdiagonals 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 xfactor roles interchanged.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42  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=1,
y.between=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,
": ", c("main", "simple")[1+simple],
" effects and 2way interactions",
sep=""),
xlab = "",
ylab = "",
simple=FALSE,
box.ratio=if (simple) .32 else 1,
label.as.interaction.formula=TRUE,
...,
main.cex,
key.cex.title=.8,
key.cex.text=.7,
factor.expressions=names.x,
simple.pch=NULL
)

Arguments when x
is a formula.
x 
The object on which method dispatch is carried out. For the For the 
data 
For the 
responselab 
Character name of response variable, defaults to
the name of the response variable in the 
responselab.expression 

... 
additional arguments, primarily trellis arguments. 
response.var 
For the 
simple 
logical. 
box.ratio 

Trellis/Lattice arguments. Default values are set by the
the formula
method. The user may override the defaults.
See also
xyplot
.
relation 

x.relation 

y.relation 

digits 
doesn't do anything at the moment 
x.between 

y.between 

between 
trellis/lattice 
cex 
SPlus: changes the size of the median dot in the boxplots. R: doesn't do anything. 
panel.input 
panel function. Default is 
label.as.interaction.formula 
logical. If 
strip.input 
strip function. Default depends on the value of

par.strip.text.input 

scales.additional 
additional arguments to 
main.in 
Text of main title. 
xlab 
No effect. 
ylab 
No effect. 
main.cex 

key.cex.title 

key.cex.text 

factor.expressions 
Expressions for titles of keys and

rot 
Rotation of x tick labels and y tick labels. Only 0 and 90 will look good. 
simple.pch 
Named list containing plotting characters for each
level of one or more of the factors. 
"trellis"
object containing the plot.
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 Texts in Statistics. Springer. ISBN 9781493921218.
Heiberger, Richard M. and Holland, Burt (2004b). Statistical Analysis and Data Display: An Intermediate Course with Examples in SPlus, R, and SAS. Springer Texts in Statistics. Springer. ISBN 0387402705.
panel.interaction2wt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41  data(vulcan)
interaction2wt(wear ~ filler + pretreat + raw, data=vulcan,
par.strip.text=list(cex=.7))
interaction2wt(wear ~ filler + pretreat + raw, data=vulcan)
interaction2wt(wear ~ filler + raw, data=vulcan,
simple=TRUE)
interaction2wt(wear ~ filler + raw, data=vulcan,
simple=TRUE, simple.scale=c(filler=.15, raw=.2),
xlim=c(.3, 5.6))
ToothGrowth$dose < positioned(ToothGrowth$dose) ## modify local copy
anova(aov(len ~ supp*dose, data=ToothGrowth))
interaction2wt(len ~ supp + dose, data=ToothGrowth)
esoph$rate=with(esoph, ncases/ncontrols) ## modify local copy
position(esoph$alcgp) < 2:5
position(esoph$tobgp) < 2:5
interaction2wt(rate ~ agegp + alcgp + tobgp, esoph, rot=c(90,0),
par.strip.text=list(cex=.8))
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)),")"))),
par.settings=list(
par.xlab.text=list(cex=.8),
par.ylab.text=list(cex=.8)),
responselab.expression="Cancer\nRate",
main=list(
"Esophogeal Cancer Rate ~ Alcohol Consumption + Tobacco Consumption",
cex=1.2))
esoph.aov < aov(rate ~ agegp + alcgp + tobgp, data=esoph)
anova(esoph.aov)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.