この節の作者: Ravi Selker, Jonathon Love, Damian Dropmann
ANCOVA (ancova
)¶
Description¶
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.
Usage¶
ancova(
data,
dep,
factors = NULL,
covs = NULL,
effectSize = NULL,
modelTest = FALSE,
modelTerms = NULL,
ss = "3",
homo = FALSE,
norm = FALSE,
qq = FALSE,
contrasts = NULL,
postHoc = NULL,
postHocCorr = list("tukey"),
postHocES = list(),
postHocEsCi = FALSE,
postHocEsCiWidth = 95,
emMeans = list(list()),
emmPlots = TRUE,
emmPlotData = FALSE,
emmPlotError = "ci",
emmTables = FALSE,
emmWeights = TRUE,
ciWidthEmm = 95,
formula
)
Arguments¶
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 eta², partial eta², and omega² effect sizes, respectively |
modelTest |
TRUE or FALSE (default); perform an overall model test |
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 |
norm |
TRUE or FALSE (default), perform Shapiro-Wilk tests of normality |
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 |
postHocES |
a possible value of 'd' ; provide Cohen's d measure of effect size for the post-hoc tests |
postHocEsCi |
TRUE or FALSE (default), provide confidence intervals for the post-hoc effect sizes |
postHocEsCiWidth |
a number between 50 and 99.9 (default: 95), the width of confidence intervals for the post-hoc effect sizes |
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 |
formula |
(optional) the formula to use, see the examples |
Output¶
A results object containing:
results$main |
a table of ANCOVA results |
results$model |
The underlying aov object |
results$assump$homo |
a table of homogeneity tests |
results$assump$norm |
a table of normality tests |
results$assump$qq |
a q-q plot |
results$contrasts |
an array of contrasts tables |
results$postHoc |
an array of post-hoc tables |
results$emm |
an array of the estimated marginal means plots + tables |
Tables can be converted to data frames with asDF
or
as.data.frame()
. For example:
results$main$asDF
as.data.frame(results$main)
Examples¶
data('ToothGrowth')
ancova(formula = len ~ supp + dose, data = ToothGrowth)
#
# ANCOVA
#
# ANCOVA
# -----------------------------------------------------------------------
# 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
# -----------------------------------------------------------------------
#
ancova(
formula = len ~ supp + dose,
data = ToothGrowth,
postHoc = ~ supp,
emMeans = ~ supp)