aov.b {misty} | R Documentation |
Between-Subject Analysis of Variance
Description
This function performs an one-way between-subject analysis of variance (ANOVA) including Tukey HSD post hoc test for multiple comparison and provides descriptive statistics, effect size measures, and a plot showing error bars for difference-adjusted confidence intervals with jittered data points.
Usage
aov.b(formula, data, posthoc = FALSE, conf.level = 0.95, hypo = TRUE,
descript = TRUE, effsize = FALSE, weighted = FALSE, correct = FALSE,
plot = FALSE, point.size = 4, adjust = TRUE, error.width = 0.1,
xlab = NULL, ylab = NULL, ylim = NULL, breaks = ggplot2::waiver(),
jitter = TRUE, jitter.size = 1.25, jitter.width = 0.05,
jitter.height = 0, jitter.alpha = 0.1, title = "",
subtitle = "Confidence Interval", digits = 2, p.digits = 4,
as.na = NULL, write = NULL, append = TRUE, check = TRUE,
output = TRUE, ...)
Arguments
formula |
a formula of the form |
data |
a matrix or data frame containing the variables in the
formula |
posthoc |
logical: if |
conf.level |
a numeric value between 0 and 1 indicating the confidence level of the interval. |
hypo |
logical: if |
descript |
logical: if |
effsize |
logical: if |
weighted |
logical: if |
correct |
logical: if |
plot |
logical: if |
point.size |
a numeric value indicating the |
adjust |
logical: if |
error.width |
a numeric value indicating the horizontal bar width of the error bar. |
xlab |
a character string specifying the labels for the x-axis. |
ylab |
a character string specifying the labels for the y-axis. |
ylim |
a numeric vector of length two specifying limits of the limits of the y-axis. |
breaks |
a numeric vector specifying the points at which tick-marks are drawn at the y-axis. |
jitter |
logical: if |
jitter.size |
a numeric value indicating the |
jitter.width |
a numeric value indicating the amount of horizontal jitter. |
jitter.height |
a numeric value indicating the amount of vertical jitter. |
jitter.alpha |
a numeric value indicating the opacity of the jittered data points. |
title |
a character string specifying the text for the title for the plot. |
subtitle |
a character string specifying the text for the subtitle for the plot. |
digits |
an integer value indicating the number of decimal places to be used for displaying descriptive statistics and confidence interval. |
p.digits |
an integer value indicating the number of decimal places to be used for displaying the p-value. |
as.na |
a numeric vector indicating user-defined missing values,
i.e. these values are converted to |
write |
a character string naming a text file with file extension
|
append |
logical: if |
check |
logical: if |
output |
logical: if |
... |
further arguments to be passed to or from methods. |
Details
- Post Hoc Test
Tukey HSD post hoc test reports Cohen's d based on the non-weighted standard deviation (i.e.,
weighted = FALSE
) when requesting an effect size measure (i.e.,effsize = TRUE
) following the recommendation by Delacre et al. (2021).- Confidence Intervals
Cumming and Finch (2005) pointed out that when 95% confidence intervals (CI) for two separately plotted means overlap, it is still possible that the CI for the difference would not include zero. Baguley (2012) proposed to adjust the width of the CIs by the factor of
\sqrt{2}
to reflect the correct width of the CI for a mean difference:\hat{\mu}_{j} \pm t_{n - 1, 1 - \alpha/2} \frac{\sqrt{2}}{2} \hat{\sigma}_{{\hat{\mu}}_j}
These difference-adjusted CIs around the individual means can be interpreted
as if it were a CI for their difference. Note that the width of these intervals
is sensitive to differences in the variance and sample size of each sample,
i.e., unequal population variances and unequal n
alter the interpretation
of difference-adjusted CIs.
Value
Returns an object of class misty.object
, which is a list with following
entries:
call |
function call |
type |
type of analysis |
data |
data frame with variables used in the current analysis |
formula |
formula of the current analysis |
plot |
ggplot2 object for plotting the results |
args |
specification of function arguments |
result |
list with result tables, i.e., |
Author(s)
Takuya Yanagida takuya.yanagida@univie.ac.at
References
Baguley, T. S. (2012a). Serious stats: A guide to advanced statistics for the behavioral sciences. Palgrave Macmillan.
Cumming, G., and Finch, S. (2005) Inference by eye: Confidence intervals, and how to read pictures of data. American Psychologist, 60, 170–80.
Delacre, M., Lakens, D., Ley, C., Liu, L., & Leys, C. (2021). Why Hedges' g*s based on the non-pooled standard deviation should be reported with Welch's t-test. https://doi.org/10.31234/osf.io/tu6mp
Rasch, D., Kubinger, K. D., & Yanagida, T. (2011). Statistics in psychology - Using R and SPSS. John Wiley & Sons.
See Also
aov.w
, test.t
, test.z
,
test.levene
, test.welch
, cohens.d
,
ci.mean.diff
, ci.mean
Examples
dat <- data.frame(group = c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3),
y = c(3, 1, 4, 2, 5, 3, 2, 3, 6, 6, 3, NA))
# Example 1: Between-subject ANOVA
aov.b(y ~ group, data = dat)
# Example 2: Between-subject ANOVA
# print effect size measures
aov.b(y ~ group, data = dat, effsize = TRUE)
# Example 3: Between-subject ANOVA
# do not print hypotheses and descriptive statistics,
aov.b(y ~ group, data = dat, descript = FALSE, hypo = FALSE)
## Not run:
# Example 4: Write results into a text file
aov.b(y ~ group, data = dat, write = "ANOVA.txt")
# Example 5: Between-subject ANOVA
# plot results
aov.b(y ~ group, data = dat, plot = TRUE)
# Load ggplot2 package
library(ggplot2)
# Example 6: Save plot, ggsave() from the ggplot2 package
ggsave("Between-Subject_ANOVA.png", dpi = 600, width = 4.5, height = 6)
# Example 7: Between-subject ANOVA
# extract plot
p <- aov.b(y ~ group, data = dat, output = FALSE)$plot
p
# Extract data
plotdat <- aov.b(y ~ group, data = dat, output = FALSE)$data
# Draw plot in line with the default setting of aov.b()
ggplot(plotdat, aes(group, y)) +
geom_jitter(alpha = 0.1, width = 0.05, height = 0, size = 1.25) +
geom_point(stat = "summary", fun = "mean", size = 4) +
stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", width = 0.20) +
scale_x_discrete(name = NULL) +
labs(subtitle = "Two-Sided 95
theme_bw() + theme(plot.subtitle = element_text(hjust = 0.5))
## End(Not run)