[R] Interpretation of high order interaction terms.
RICHARD M. HEIBERGER
rmh at temple.edu
Tue Feb 9 19:29:39 CET 2010
## Artificial data with all interactions significant.
## The interaction2wt plot shows all main effects and all pairwise
## interactions. We see in the "Y ~ A|B" panel (or in the
## interaction.plot) that Y goes uphill for levels 1 and 2 of B and
## goes down and then up for level 3 of B. This is the two-way A:B
## interaction. At each level of B, the main effect of A differs.
## From the xyplot, we see that at level 1 of C, Y goes down for level
## 3 of B. At level 2 of C, Y goes down a lot and then up for level 3
## of B. This is the three-way A:B:C interaction. At each level of C
## the two-way interaction of A and B differs.
set.seed(1)
require(HH) ## needed for interaction2wt()
threeway <-
data.frame(matrix(c(
1, 1, 1, 1,
2, 2, 1, 1,
3, 3, 1, 1,
1, 1, 2, 1,
2, 2, 2, 1,
3, 3, 2, 1,
3, 1, 3, 1,
2, 2, 3, 1,
1, 3, 3, 1,
1, 1, 1, 2,
2, 2, 1, 2,
3, 3, 1, 2,
1, 1, 2, 2,
2, 2, 2, 2,
3, 3, 2, 2,
3, 1, 3, 2,
-4, 2, 3, 2,
1, 3, 3, 2),
byrow=TRUE, 18, 4, dimnames=list(1:18,c("Y","A","B","C"))))
for (i in 2:4) threeway[[i]] <- factor(threeway[[i]])
threeway <- rbind(threeway, threeway)
threeway$Y <- threeway$Y + rnorm(36, s=.5)
anova(aov(Y ~ A * B * C, data=threeway))
with(threeway, interaction.plot(A, B, Y)) ## shows just the "Y ~ A|B" panel
## all two-way interactions and main effects
interaction2wt(Y ~ A + B + C, data=threeway) ## library(HH) required
xyplot(x ~ A | C, groups=B,
data=aggregate(threeway[,1], threeway[,-1], mean), type="l",
auto.key=list(title="B", space="left",
border=TRUE, lines=TRUE, points=FALSE),
strip=strip.custom(strip.names=c(TRUE,TRUE)))
More information about the R-help
mailing list