The Analysis of Covariance (ANCOVA) is used to explore the relationship between a continuous dependent variable, one or more categorical explanatory variables, and one or more continuous explanatory variables (or covariates). It is essentially the same analysis as ANOVA, but with the addition of covariates.

Example usage


ancova(formula = len ~ supp + dose, data = ToothGrowth)

#  ───────────────────────────────────────────────────────────────────────
#                 Sum of Squares    df    Mean Square    F        p
#  ───────────────────────────────────────────────────────────────────────
#    supp                    205     1          205.4     11.4     0.001
#    dose                   2224     1         2224.3    124.0    < .001
#    Residuals              1023    57           17.9
#  ───────────────────────────────────────────────────────────────────────

    formula = len ~ supp + dose,
    data = ToothGrowth,
    postHoc = ~ supp,
    emMeans = ~ supp)


data the data as a data frame
dep the dependent variable from data, variable must be numeric (not necessary when providing a formula, see examples)
factors the explanatory factors in data (not necessary when providing a formula, see examples)
covs the explanatory covariates (not necessary when providing a formula, see examples)
effectSize one or more of 'eta', 'partEta', or 'omega'; use η², partial η², and ω² effect sizes, respectively
modelTerms a formula describing the terms to go into the model (not necessary when providing a formula, see examples)
ss '1', '2' or '3' (default), the sum of squares to use
homo TRUE or FALSE (default), perform homogeneity tests
qq TRUE or FALSE (default), provide a Q-Q plot of residuals
contrasts a list of lists specifying the factor and type of contrast to use, one of 'deviation', 'simple', 'difference', 'helmert', 'repeated' or 'polynomial'
postHoc a formula containing the terms to perform post-hoc tests on (see the examples)
postHocCorr one or more of 'none', 'tukey', 'scheffe', 'bonf', or 'holm'; provide no, Tukey, Scheffe, Bonferroni, and Holm Post Hoc corrections respectively
emMeans a formula containing the terms to estimate marginal means for (see the examples)
emmPlots TRUE (default) or FALSE, provide estimated marginal means plots
emmPlotData TRUE or FALSE (default), plot the data on top of the marginal means
emmPlotError 'none', 'ci' (default), or 'se'. Use no error bars, use confidence intervals, or use standard errors on the marginal mean plots, respectively
emmTables TRUE or FALSE (default), provide estimated marginal means tables
emmWeights TRUE (default) or FALSE, weigh each cell equally or weigh them according to the cell frequency
ciWidthEmm a number between 50 and 99.9 (default: 95) specifying the confidence interval width for the estimated marginal means


A results object containing:

results$main a table
results$assump$homo a table
results$contrasts an array of tables
results$postHoc an array of tables
results$emm an array of groups

Tables can be converted to data frames with asDF or For example:


Elements in arrays can be accessed with [[n]]. For example:

results$contrasts[[1]] # accesses the first element