aov                   package:base                   R Documentation

_F_i_t _a_n _A_n_a_l_y_s_i_s _o_f _V_a_r_i_a_n_c_e _M_o_d_e_l

_D_e_s_c_r_i_p_t_i_o_n:

     Fit an analysis of variance model by a call to `lm' for each
     stratum.

_U_s_a_g_e:

     aov(formula, data = NULL, projections = FALSE, contrasts = NULL, ...)
     se.aov(object, n, type = "means") 

_A_r_g_u_m_e_n_t_s:

 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'.

_D_e_t_a_i_l_s:

     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.

_V_a_l_u_e:

     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.

_A_u_t_h_o_r(_s):

     B. D. Ripley

_S_e_e _A_l_s_o:

     `lm', `alias', `proj', `model.tables'

_E_x_a_m_p_l_e_s:

     ## 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

