oneway_anova {statsExpressions} | R Documentation |
Parametric, non-parametric, robust, and Bayesian one-way ANOVA.
oneway_anova( data, x, y, subject.id = NULL, type = "parametric", paired = FALSE, k = 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 ( |
type |
A character specifying the type of statistical approach:
You can specify just the initial letter. |
paired |
Logical that decides whether the experimental design is
repeated measures/within-subjects or between-subjects. The default is
|
k |
Number of digits after decimal point (should be an integer)
(Default: |
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 tibble data frame can contain some or all of the following columns (the exact columns will depend on the statistical test):
statistic
: the numeric value of a statistic
df
: the numeric value of a parameter being modeled (often degrees
of freedom for the test)
df.error
and df
: relevant only if the statistic in question has
two degrees of freedom (e.g. anova)
p.value
: the two-sided p-value associated with the observed statistic
method
: the name of the inferential statistical test
estimate
: estimated value of the effect size
conf.low
: lower bound for the effect size estimate
conf.high
: upper bound for the effect size estimate
conf.level
: width of the confidence interval
conf.method
: method used to compute confidence interval
conf.distribution
: statistical distribution for the effect
effectsize
: the name of the effect size
n.obs
: number of observations
expression
: pre-formatted expression containing statistical details
For examples, see 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() |
Bayes Factor | > 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() |
Bayes Factor | > 2 | Bayesian R-squared | Yes | performance::r2_bayes() |
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() |
Bayes Factor | > 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() |
Bayes Factor | > 2 | Bayesian R-squared | Yes | performance::r2_bayes() |
# for reproducibility set.seed(123) library(statsExpressions) suppressPackageStartupMessages(library(afex)) # for within-subjects parametric ANOVA # ----------------------- parametric ------------------------------------- # between-subjects oneway_anova( data = mtcars, x = cyl, y = wt ) # within-subjects design oneway_anova( data = iris_long, x = condition, y = value, subject.id = id, paired = TRUE ) # ----------------------- non-parametric ---------------------------------- # between-subjects oneway_anova( data = mtcars, x = cyl, y = wt, type = "np" ) # within-subjects design oneway_anova( data = iris_long, x = condition, y = value, subject.id = id, paired = TRUE, type = "np" ) # ----------------------- robust ------------------------------------- # between-subjects oneway_anova( data = mtcars, x = cyl, y = wt, type = "r" ) # within-subjects design oneway_anova( data = iris_long, x = condition, y = value, subject.id = id, paired = TRUE, type = "r" ) # ----------------------- Bayesian ------------------------------------- # between-subjects oneway_anova( data = mtcars, x = cyl, y = wt, type = "bayes" ) # within-subjects design oneway_anova( data = iris_long, x = condition, y = value, subject.id = id, paired = TRUE, type = "bayes" )