fastanova([Model] [,print:F or silent:T,fstats:T,pvals:T]) |

fastanova(Model) computes the analysis of variance table for the model given in the CHARACTER variable Model. No variates (only factors) can be in the model. It uses an iterative algorithm rather than the modified Gram-Schmidt used by anova(). Caution: If there are empty cells in the design, the degrees of freedom and hence the mean squares may be in error. fastanova(), with no Model specified, uses the model from the most recent GLM command such as anova() or poisson() or the model in STRMODEL. fastanova(Model,maxiter:N,epsilon:eps) where N is a positive integer and eps is a small REAL scalar, iterates no more than N times (default is 25) on each fit and uses the value of eps (default is 1e-6) to determine when convergence has occurred. Either keyword can appear without the other. Other keyword phrases that can be used with fastanova() are 'print:T', 'silent:T', 'fstats:T' and 'pvals:T'. See topic 'glm_keys' for details. See topic 'options' for information on changing the default values of 'fstats' and 'pvals'. Keyword phrases 'coefs:F' and 'marginal:T' cannot be used with fastanova(). See topic 'models' for information on specifying Model. Coefficients may be retrieved by coefs(); standard errors are not available. contrast() does not work properly after fastanova(). coefs() may or may not give the correct answers; fastanova() will warn you when coefs() will fail. cellstats() results include the estimated values for any missing data. The iterative fitting method used by fastanova() is faster than Gram- Schmidt for large unbalanced data sets. The time used is roughly proportional to length(y)*nterms, where y is the response variable, and nterms is the number of terms in the model (the not the model degrees of freedom). Thus, fastanova() gives greatest speed improvements for models with relatively few terms, each with relatively many degrees of freedom. fastanova() is least effective for models with many terms, each with few degrees of freedom. In fact, it may be slower than anova() for such models.

Gary Oehlert 2003-01-15