aov {stats} | R Documentation |
Fit an Analysis of Variance Model
Description
Fit an analysis of variance model by a call to lm
(for each
stratum if an Error(.)
is used).
Usage
aov(formula, data = NULL, projections = FALSE, qr = TRUE,
contrasts = NULL, ...)
Arguments
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 |
Details
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 that 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.
Weights can be specified by a weights
argument, but should not
be used with an Error
term, and are incompletely supported
(e.g., not by model.tables
).
Value
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 c("aovlist", "listof")
. There are
print
and summary
methods available for these.
Note
aov
is designed for balanced designs, and the results can be
hard to interpret without balance: beware that missing values in the
response(s) will likely lose the balance. If there are two or more
error strata, the methods used are statistically inefficient without
balance, and it may be better to use lme
in
package nlme.
Balance can be checked with the replications
function.
The default ‘contrasts’ in R are not orthogonal contrasts, and
aov
and its helper functions will work better with such
contrasts: see the examples for how to select these.
Author(s)
The design was inspired by the S function of the same name described in Chambers et al. (1992).
References
Chambers, J. M., Freeny, A and Heiberger, R. M. (1992) Analysis of variance; designed experiments. Chapter 5 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.
See Also
lm
, summary.aov
,
replications
, alias
,
proj
, model.tables
, TukeyHSD
Examples
## From Venables and Ripley (2002) p.165.
## Set orthogonal contrasts.
op <- options(contrasts = c("contr.helmert", "contr.poly"))
( npk.aov <- aov(yield ~ block + N*P*K, npk) )
summary(npk.aov)
coefficients(npk.aov)
## to show the effects of re-ordering terms contrast the two fits
aov(yield ~ block + N * P + K, npk)
aov(terms(yield ~ block + N * P + K, keep.order = TRUE), npk)
## as a test, not particularly sensible statistically
npk.aovE <- aov(yield ~ N*P*K + Error(block), npk)
npk.aovE
summary(npk.aovE)
options(op) # reset to previous