```
### set up two-way ANOVA with interactions
amod <- aov(waste ~ temp * envir, data=waste)
### comparisons of main effects only
K <- glht(amod, linfct = mcp(temp = "Tukey"))$linfct
K
glht(amod, K)
### comparisons of means (by averaging interaction effects)
low <- grep("low:envi", colnames(K))
med <- grep("medium:envi", colnames(K))
K[1, low] <- 1 / (length(low) + 1)
K[2, med] <- 1 / (length(low) + 1)
K[3, med] <- 1 / (length(low) + 1)
K[3, low] <- - 1 / (length(low) + 1)
K
confint(glht(amod, K))
### same as TukeyHSD
TukeyHSD(amod, "temp")
### set up linear hypotheses for all-pairs of both factors
wht <- glht(amod, linfct = mcp(temp = "Tukey", envir = "Tukey"))
### cf. Westfall et al. (1999, page 181)
summary(wht, test = adjusted("Shaffer"))
```

Run the code above in your browser using DataLab