aov(formula, data=sys.parent(), projections=FALSE, contrasts=NULL, ...)
formula
| A formula specifying the model. |
data
| A data frame in which the variables specified in the formula will be found. If missing, the variables are searched for in the standard way. |
projections
| Logical flag: should the projections be returned? |
contrasts
|
A list of contrasts to be used for some of the factors
in the formula. These are not used for any Error term, and
supplying contrasts for factors only in the Error term will give
a warning.
|
...
|
Arguments to be passed to lm, such as subset
or na.action.
|
lm for fitting linear models to
balanced or unbalanced experimental designs. The call to lm sets
singular.ok to TRUE to allow for aliased effects.
The main difference from lm is in the way print,
summary and so on handle the fit: this is expressed in the
traditional language of the analysis of variance rather than of linear
models.
If the formula contains a single Error term, this is used to
specify error strata, and appropriate models are fitted within each
error stratum.
The formula can specify multiple responses.
c("aov", "lm") or for multiple responses
of class c("maov", "aov", "mlm", "lm"). There are
print and summary methods available for these.lm,alias,proj,
model.tables
## From Venables and Ripley (1997) p.210.
N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0)
P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0)
K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0)
yield <- c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0,62.8,55.8,69.5,55.0,
62.0,48.8,45.5,44.2,52.0,51.5,49.8,48.8,57.2,59.0,53.2,56.0)
npk <- data.frame(block=gl(6,4), N=factor(N), P=factor(P),
K=factor(K), yield=yield)
( npk.aov <- aov(yield ~ block + N*P*K, npk) )
summary(npk.aov)
coefficients(npk.aov)
## as a test, not particularly sensible statistically
op <- options(contrasts=c("contr.helmert", "contr.treatment"))
npk.aovE <- aov(yield ~ N*P*K + Error(block), npk)
npk.aovE
summary(npk.aovE)
options(op)# reset to previous