| oneway_anova | R Documentation |
Parametric, non-parametric, robust, and Bayesian one-way ANOVA.
oneway_anova(
data,
x,
y,
subject.id = NULL,
type = "parametric",
paired = FALSE,
digits = 2L,
conf.level = 0.95,
effsize.type = "omega",
var.equal = FALSE,
bf.prior = 0.707,
tr = 0.2,
nboot = 100L,
...
)
data |
A data frame (or a tibble) from which variables specified are to
be taken. Other data types (e.g., matrix, table, array, etc.) will not
be accepted. Additionally, grouped data frames from |
x |
The grouping (or independent) variable from |
y |
The response (or outcome or dependent) variable from |
subject.id |
Relevant in case of a repeated measures or within-subjects
design (i.e., |
type |
A character specifying the type of statistical approach:
You can specify just the initial letter (e.g. |
paired |
Logical that decides whether the experimental design is
repeated measures/within-subjects or between-subjects. The default is
|
digits |
Number of digits for rounding or significant figures. May also
be |
conf.level |
Scalar between |
effsize.type |
Type of effect size needed for parametric tests. The
argument can be |
var.equal |
a logical variable indicating whether to treat the
two variances as being equal. If |
bf.prior |
A number between |
tr |
Trim level for the mean when carrying out |
nboot |
Number of bootstrap samples for computing confidence interval
for the effect size (Default: |
... |
Additional arguments (currently ignored). |
The returned object is a tibble data frame with the additional class
"statsExpressions". The exact set of columns depends on the test and, for
functions that accept a type argument, on the chosen analysis (parametric,
non-parametric, robust, or Bayesian). Any given call therefore returns some
(not all) of the columns below.
Hypothesis testing
statistic: the numeric value of a statistic
df and/or df.error: degrees of freedom for the test. A t-test
uses df.error, a chi-squared test uses df, and a parametric ANOVA
uses both (numerator df and denominator df.error)
p.value: the p-value associated with the observed statistic (two-sided
unless a one-sided alternative is requested, where supported)
method: the name of the inferential statistical test
Effect size estimation
effectsize: the name of the effect size
estimate: estimated value of the effect size
conf.level: the coverage level of the confidence/credible interval
(e.g. 0.95); the interval itself spans conf.low to conf.high
conf.low: lower bound for the effect size estimate
conf.high: upper bound for the effect size estimate
conf.method: method used to compute the confidence/credible interval
conf.distribution: statistical distribution for the effect
Bayesian analysis (only when type = "bayes")
bf10: Bayes factor for the alternative hypothesis relative to the null
log_e_bf10: natural logarithm of the Bayes factor (present for most, but
not all, Bayesian analyses)
prior.distribution, prior.scale, prior.location: prior specification
used to compute the Bayes factor and posterior estimates
Pairwise comparisons (for pairwise_comparisons() and
pairwise_contingency_table())
group1, group2: the two levels being compared
p.adjust.method: the adjustment method used for multiple comparisons
p.value.adj: the adjusted p-value; returned by
pairwise_contingency_table(). Note that pairwise_comparisons() instead
folds the adjusted value into p.value (and does not return a separate
p.value.adj column)
Common columns
n.obs: sample size used for the analysis: observations for unpaired
tests, complete subjects/pairs for paired two-sample tests and ANOVAs,
or studies for meta-analysis
expression: a list-column of pre-formatted
plotmath expressions; each
element is a language object (not a character string) containing the
statistical details, ready to be used in {ggplot2} (e.g. in labs() or
annotate())
For a per-function, column-by-column breakdown of the output (and an explanation
of the internal add_expression_col() engine that builds the expression
column), see the Return value schema
article. For more examples, see the data frame output vignette.
The table below provides summary about:
statistical test carried out for inferential statistics
type of effect size estimate and a measure of uncertainty for this estimate
functions used internally to compute these details
Hypothesis testing
| Type | No. of groups | Test | Function used |
| Parametric | > 2 | Fisher's or Welch's one-way ANOVA | stats::oneway.test() |
| Non-parametric | > 2 | Kruskal-Wallis one-way ANOVA | stats::kruskal.test() |
| Robust | > 2 | Heteroscedastic one-way ANOVA for trimmed means | WRS2::t1way() |
| Bayesian | > 2 | Fisher's ANOVA | BayesFactor::anovaBF() |
Effect size estimation
| Type | No. of groups | Effect size | CI available? | Function used |
| Parametric | > 2 | partial eta-squared, partial omega-squared | Yes | effectsize::omega_squared(), effectsize::eta_squared() |
| Non-parametric | > 2 | rank epsilon squared | Yes | effectsize::rank_epsilon_squared() |
| Robust | > 2 | Explanatory measure of effect size | Yes | WRS2::t1way() |
| Bayesian | > 2 | Bayesian R-squared | Yes | performance::r2_bayes() |
Paired data: See complete_subjects() for subject matching, duplicate
observations, and removal of incomplete subjects.
Hypothesis testing
| Type | No. of groups | Test | Function used |
| Parametric | > 2 | One-way repeated measures ANOVA | afex::aov_ez() |
| Non-parametric | > 2 | Friedman rank sum test | stats::friedman.test() |
| Robust | > 2 | Heteroscedastic one-way repeated measures ANOVA for trimmed means | WRS2::rmanova() |
| Bayesian | > 2 | One-way repeated measures ANOVA | BayesFactor::anovaBF() |
Effect size estimation
| Type | No. of groups | Effect size | CI available? | Function used |
| Parametric | > 2 | partial eta-squared, partial omega-squared | Yes | effectsize::omega_squared(), effectsize::eta_squared() |
| Non-parametric | > 2 | Kendall's coefficient of concordance | Yes | effectsize::kendalls_w() |
| Robust | > 2 | Algina-Keselman-Penfield robust standardized difference average | Yes | WRS2::wmcpAKP() |
| Bayesian | > 2 | Bayesian R-squared | Yes | performance::r2_bayes() |
Patil, I., (2021). statsExpressions: R Package for Tidy Dataframes and Expressions with Statistical Details. Journal of Open Source Software, 6(61), 3236, https://doi.org/10.21105/joss.03236
# for reproducibility
set.seed(123)
library(statsExpressions)
# ----------------------- parametric -------------------------------------
# between-subjects
oneway_anova(
data = mtcars,
x = cyl,
y = wt
)
# biased (partial eta-squared) effect size
oneway_anova(
data = mtcars,
x = cyl,
y = wt,
effsize.type = "eta"
)
# within-subjects design
oneway_anova(
data = bugs_long,
x = condition,
y = desire,
subject.id = subject,
paired = TRUE
)
# ----------------------- non-parametric ----------------------------------
# between-subjects
oneway_anova(
data = mtcars,
x = cyl,
y = wt,
type = "np"
)
# within-subjects design
oneway_anova(
data = bugs_long,
x = condition,
y = desire,
subject.id = subject,
paired = TRUE,
type = "np"
)
# ----------------------- robust -------------------------------------
# between-subjects
oneway_anova(
data = mtcars,
x = cyl,
y = wt,
type = "r"
)
# within-subjects design
oneway_anova(
data = bugs_long,
x = condition,
y = desire,
subject.id = subject,
paired = TRUE,
type = "r"
)
# ----------------------- Bayesian -------------------------------------
# between-subjects
oneway_anova(
data = mtcars,
x = cyl,
y = wt,
type = "bayes"
)
# within-subjects design
oneway_anova(
data = bugs_long,
x = condition,
y = desire,
subject.id = subject,
paired = TRUE,
type = "bayes"
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.