Perform a **Test for Practical Equivalence** for indices of
effect size.

## Usage

```
# S3 method for effectsize_table
equivalence_test(
x,
range = "default",
rule = c("classic", "cet", "bayes"),
...
)
```

## Arguments

- x
An effect size table, such as returned by

`cohens_d()`

,`eta_squared()`

,`F_to_r()`

, etc.- range
The range of practical equivalence of an effect. For one-sides CIs, a single value can be proved for the lower / upper bound to test against (but see more details below). For two-sided CIs, a single value is duplicated to

`c(-range, range)`

. If`"default"`

, will be set to`[-.1, .1]`

.- rule
How should acceptance and rejection be decided? See details.

- ...
Arguments passed to or from other methods.

## Details

The CIs used in the equivalence test are the ones in the provided effect size
table. For results equivalent (ha!) to those that can be obtained using the
TOST approach (e.g., Lakens, 2017), appropriate CIs should be extracted using
the function used to make the effect size table (`cohens_d`

, `eta_squared`

,
`F_to_r`

, etc), with `alternative = "two.sided"`

. See examples.

### The Different Rules

`"classic"`

-**the classic method**:If the CI is completely within the ROPE -

*Accept H0*Else, if the CI does not contain 0 -

*Reject H0*Else -

*Undecided*

`"cet"`

-**conditional equivalence testing**:If the CI does not contain 0 -

*Reject H0*Else, If the CI is completely within the ROPE -

*Accept H0*Else -

*Undecided*

`"bayes"`

-**The Bayesian approach**, as put forth by Kruschke:If the CI does is completely outside the ROPE -

*Reject H0*Else, If the CI is completely within the ROPE -

*Accept H0*Else -

*Undecided*

## References

Campbell, H., & Gustafson, P. (2018). Conditional equivalence testing: An alternative remedy for publication bias. PLOS ONE, 13(4), e0195145. https://doi.org/10.1371/journal.pone.0195145

Kruschke, J. K. (2014). Doing Bayesian data analysis: A tutorial with R, JAGS, and Stan. Academic Press

Kruschke, J. K. (2018). Rejecting or accepting parameter values in Bayesian estimation. Advances in Methods and Practices in Psychological Science, 1(2), 270-280. doi: 10.1177/2515245918771304

Lakens, D. (2017). Equivalence Tests: A Practical Primer for t Tests, Correlations, and Meta-Analyses. Social Psychological and Personality Science, 8(4), 355–362. https://doi.org/10.1177/1948550617697177

## See also

For more details, see `bayestestR::equivalence_test()`

.

## Examples

```
# \donttest{
model <- aov(mpg ~ hp + am * factor(cyl), data = mtcars)
es <- eta_squared(model, ci = 0.9, alternative = "two.sided")
equivalence_test(es, range = 0.30) # TOST
#> Warning: Lower bound set to 0.
#> # Test for Practical Equivalence
#> ROPE: [0.00, 0.30]
#>
#> Parameter | Eta2 (partial) | 90% CI | H0
#> ----------------------------------------------------------
#> hp | 0.78 | [0.64, 0.86] | Rejected
#> am | 0.52 | [0.28, 0.67] | Rejected
#> factor(cyl) | 0.21 | [0.00, 0.40] | Undecided
#> am:factor(cyl) | 0.05 | [0.00, 0.20] | Accepted
RCT <- matrix(c(
71, 101,
50, 100
), nrow = 2)
OR <- oddsratio(RCT, alternative = "greater")
equivalence_test(OR, range = 1)
#> # Test for Practical Equivalence
#> ROPE: [0.00, 1.00]
#>
#> Odds ratio | 95% CI | H0
#> ------------------------------------
#> 1.41 | [0.96, Inf] | Undecided
#>
#> - One-sided CIs: upper bound fixed at [Inf].
ds <- t_to_d(
t = c(0.45, -0.65, 7, -2.2, 2.25),
df_error = c(675, 525, 2000, 900, 1875),
ci = 0.9, alternative = "two.sided" # TOST
)
# Can also plot
if (require(see)) plot(equivalence_test(ds, range = 0.2))
if (require(see)) plot(equivalence_test(ds, range = 0.2, rule = "cet"))
if (require(see)) plot(equivalence_test(ds, range = 0.2, rule = "bayes"))
# }
```