summary.aov              package:stats              R Documentation

_S_u_m_m_a_r_i_z_e _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:

     Summarize an analysis of variance model.

_U_s_a_g_e:

     ## S3 method for class 'aov':
     summary(object, intercept = FALSE, split,
             expand.split = TRUE, keep.zero.df = TRUE, ...)

     ## S3 method for class 'aovlist':
     summary(object, ...)

_A_r_g_u_m_e_n_t_s:

  object: An object of class '"aov"' or '"aovlist"'.

intercept: logical: should intercept terms be included?

   split: an optional named list, with names corresponding to terms in
          the model.  Each component is itself a list with integer
          components giving contrasts whose contributions are to be
          summed.

expand.split: logical: should the split apply also to interactions
          involving the factor?

keep.zero.df: logical: should terms with no degrees of freedom be
          included?

     ...: Arguments to be passed to or from other methods, for
          'summary.aovlist' including those for 'summary.aov'.

_V_a_l_u_e:

     An object of class 'c("summary.aov", "listof")' or
     '"summary.aovlist"' respectively.

     For a fits with a single stratum the result will be a list of
     ANOVA tables, one for each response (even if there is only one
     response): the tables are of class '"anova"' inheriting from class
     '"data.frame"'.  They have columns '"Df"', '"Sum Sq"', '"Mean
     Sq"', as well as '"F value"' and '"Pr(>F)"' if there are non-zero
     residual degrees of freedom.  There is a row for each term in the
     model, plus one for '"Residuals"' if there are any.

     For multistratum fits the return value is a list of such
     summaries, one for each stratum.

_N_o_t_e:

     The use of 'expand.split = TRUE' is little tested: it is always
     possible to set it to 'FALSE' and specify exactly all the splits
     required.

_S_e_e _A_l_s_o:

     'aov', 'summary', 'model.tables', 'TukeyHSD'

_E_x_a_m_p_l_e_s:

     ## From Venables and Ripley (2002) p.165.
     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)

     # Cochran and Cox (1957, p.164)
     # 3x3 factorial with ordered factors, each is average of 12. 
     CC <- data.frame(
         y = c(449, 413, 326, 409, 358, 291, 341, 278, 312)/12,
         P = ordered(gl(3, 3)), N = ordered(gl(3, 1, 9))
     )
     CC.aov <- aov(y ~ N * P, data = CC , weights = rep(12, 9))
     summary(CC.aov)

     # Split both main effects into linear and quadratic parts.
     summary(CC.aov, split = list(N = list(L = 1, Q = 2),
                                  P = list(L = 1, Q = 2)))

     # Split only the interaction
     summary(CC.aov, split = list("N:P" = list(L.L = 1, Q = 2:4)))

     # split on just one var
     summary(CC.aov, split = list(P = list(lin = 1, quad = 2)))
     summary(CC.aov, split = list(P = list(lin = 1, quad = 2)),
             expand.split=FALSE)

