[R] Interpretation of high order interaction terms.
bluesky315 at gmail.com
bluesky315 at gmail.com
Tue Feb 9 21:27:42 CET 2010
This is useful. But it is not exactly what I am looking for. I can use
'contrast' to infer linear combination factor level means as discussed
in Statistical Inference by Casella and Berger. What is the equivalent
'contrast' for interaction terms? Is there a book that discuss this?
On Tue, Feb 9, 2010 at 12:29 PM, RICHARD M. HEIBERGER <rmh at temple.edu> wrote:
> ## 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