aov {base} | R Documentation |
Fit an analysis of variance model by a call to lm
for each stratum.
aov(formula, data = NULL, projections = FALSE, qr = TRUE,
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? |
qr |
Logical flag: should the QR decomposition be returned? |
contrasts |
A list of contrasts to be used for some of the factors
in the formula. These are not used for any |
... |
Arguments to be passed to |
This provides a wrapper to lm
for fitting linear models to
balanced or unbalanced experimental designs.
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.
An object of class c("aov", "lm")
or for multiple responses
of class c("maov", "aov", "mlm", "lm")
or for multiple error
strata of class "aovlist"
. There are
print
and summary
methods available for these.
B. D. Ripley
lm
, summary.aov
, 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)
TukeyHSD
( 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 models regression