Analysis of covariance (ANCOVA) combines the techniques of analysis of variance (ANOVA) with regression methods. This approach is applicable where the dependent variable or response variable is continuous and the factors are a mixture of continuous and categorical variables. The continuous variables are known as covariates, hence the term, analysis of covariance. In experimental design problems, such variables may be observable, but difficult or impossible to include in the design explicitly (not controllable) or they may be controllable and included in the (iterative) design process. For example in some experiments temperature might be included as a continuous variable (predictor) whereas in others (e.g. measuring the speed of light) the ambient temperature might be recorded at the start of each run and used to reduce the error variance in the resulting analysis, i.e. it is explanatory but not controlled. By reducing the error variance using the correlation that may exist between the covariate and the controlled factor(s) the sensitivity of the experiment is improved and the significance of designed factors becomes easier to determine. In other situations covariates are introduced into the design and modeling process because they are more readily available or measurable than the target data. For example, remote sensing satellite data can provide very detailed information on many spatially extensive variables that may be correlated with hard-to-obtain data required for a trial or experiment (e.g. UV incidence, humidity, waterways etc).
ANCOVA is not a distinct technique, and as such is not widely covered in statistics texts or within software packages. The analytical methods applied involve general linear modeling (glm) and analysis of variance, and thus the tools of analysis are those provided for these separate functions. MATLab is unusual in that it provides an interactive graphical tool (aoctool) that enables a range of simple linear models to be fitted to sample data in an interactive environment, reflecting the need for interactivity and experimentation in such analyses. Crawley (2007, ch. 12, [CRA1]) devotes a chapter to discussing ANCOVA in the context of R, and notes that either the aov() or lm() functions that we have previously encountered may be used. He provides worked examples, explaining the difficulties of such analysis, the need for systematic model simplification, and highlighting the focus it places on good initial experimental design, which may make such complex analysis unnecessary in some instances.