library(knitr) options(knitr.kable.NA = '') knitr::opts_chunk$set(comment=">") options(digits=2)

The metrics used in statistics (indices of fit, model performance or parameter estimates) can be very abstract. A long experience is required to intuitively ** "feel"** the meaning of their values. In order to facilitate the understanding of the results they are facing, many scientists use (often implicitly) some set of

One of the most famous interpertation grid was proposed by **Cohen (1988)** for a series of widely used indices, such as the correlation **r** (*r* = .20, small; *r* = .40, moderate and *r* = .60, large) or the **standardized difference** (*Cohen's d*). However, there is now a clear evidence that Cohen's guidelines (which he himself later disavowed; Funder, 2019) are much too stringent and not particularly meaningful taken out of context [@funder2019evaluating]. This led to the emergence of a litterature discussing and creating new sets of rules of thumb.

Altough **everybody agrees on the fact that effect size interpretation in a study should be justified with a rationale** (and depend on the context, the field, the litterature, the hypothesis, etc.), these pre-baked rules can still nevertheless be useful to give a rough idea or frame of reference to understand scientific results.

The package ** effectsize** implements such sets of rules of thumb for a variety of indices in a flexible and explicit fashion, helping you understanding and reporting your results in a scientific yet meaningful way. Again, readers should keep in mind that these thresholds, altough

Moreovere, some authors suggest the counter-intuitive idea that *very large effects*, especially in the context of psychological research, is likely to be a "gross overestimate that will rarely be found in a large sample or in a replication" [@funder2019evaluating]. They suggest that smaller effect size are worth taking seriously (as they can be potentially consequential), as well as more believable.

interpret_r2(x, rules = "falk1992")

**R2 < 0.1**: Negligible**R2 > 0.1**: Adequate

interpret_r2(x, rules = "cohen1988")

**R2 = 0 - 0.02**: Very weak**R2 = 0.02 - 0.16**: Weak**R2 = 0.16 - 0.26**: Moderate**R2 > 0.26**: Substantial

interpret_r2(x, rules = "chin1998")

**R2 = 0 - 0.19**: Very weak**R2 = 0.19 - 0.33**: Weak**R2 = 0.33 - 0.67**: Moderate**R2 > 0.67**: Substantial

interpret_r2(x, rules = "hair2011")

**R2 = 0 - 0.25**: Very weak**R2 = 0.25 - 0.50**: Weak**R2 = 0.50 - 0.75**: Moderate**R2 > 0.75**: Substantial

interpret_r(x, rules = "funder2019")

**r = 0 - 0.05**: Very small**r = 0.05 - 0.1**: Small**r = 0.1 - 0.2**: Medium**r = 0.2 - 0.3**: Large**r > 0.4**: Very large

Gignac's rules of thumb are actually one of few interpretation grid justified and based on actual data, in this case on the distribution of effect magnitudes in the litterature.

interpret_r(x, rules = "gignac2016")

**r = 0 - 0.1**: Very small**r = 0.1 - 0.2**: Small**r = 0.2 - 0.3**: Moderate ("typical")**r > 0.3**: Large

interpret_r(x, rules = "cohen1988")

**r = 0 - 0.1**: Very small**r = 0.1 - 0.3**: Small**r = 0.3 - 0.5**: Moderate**r > 0.5**: Large

interpret_r(x, rules = "evans1996")

**r = 0 - 0.2**: Very weak**r = 0.2 - 0.4**: Weak**r = 0.4 - 0.6**: Moderate**r = 0.6 - 0.8**: Strong**r > 0.8**: Very strong

The sandardized difference can be obtained through the standardization of linear model's parameters or data, in which they can be used as indices of effect size.

interpret_d(x, rules = "funder2019")

**r = 0 - 0.1**: Very small**r = 0.1 - 0.2**: Small**r = 0.2 - 0.4**: Medium**r = 0.4 - 0.6**: Large**r > 0.6**: Very large

Gignac's rules of thumb are actually one of few interpretation grid justified and based on actual data, in this case on the distribution of effect magnitudes in the litterature.

interpret_d(x, rules = "gignac2016")

**d = 0 - 0.2**: Very small**d = 0.2 - 0.4**: Small**d = 0.4 - 0.6**: Medium**d > 0.6**: Large

interpret_d(x, rules = "cohen1988")

**d = 0 - 0.2**: Very small**d = 0.2 - 0.5**: Small**d = 0.5 - 0.8**: Medium**d > 0.8**: Large

interpret_d(x, rules = "sawilowsky2009")

**d = 0 - 0.1**: Tiny**d = 0.1 - 0.2**: Very small**d = 0.2 - 0.5**: Small**d = 0.5 - 0.8**: Medium**d = 0.8 - 1.2**: Large**d = 1.2 - 2**: Very large**d > 2**: Huge

Odds ratio, and *log* odds ratio, are often found in epidemiological studies. However, they are also the parameters of ** logistic** regressions, where they can be used as indices of effect size. Note that the (log) odds ratio from logistic regression coefficients are

interpret_odds(x, rules = "chen2010")

**odds = 0 - 1.68**: Very small**odds = 1.68 - 3.47**: Small**odds = 3.47 - 6.71**: Medium**odds > 6.71**: Large

interpret_odds(x, rules = "cohen1988")

This converts (log) odds ratio to standardized difference *d* using the following formula [@cohen1988statistical;@sanchez2003effect]:

d <- log_odds * (sqrt(3) / pi)

The Omega squared is a measure of effect size used in ANOVAs. It is an estimate of how much variance in the response variables are accounted for by the explanatory variables. Omega squared is widely viewed as a lesser biased alternative to eta-squared, especially when sample sizes are small.

interpret_omega_squared(x, rules = "field2013")

**Omega Squared = 0 - 0.01**: Very small**Omega Squared = 0.01 - 0.06**: Small**Omega Squared = 0.06 - 0.14**: Medium**Omega Squared > 0.14**: Large

**Bayes factors (BF)** are continuous measures of relative evidence, with a Bayes factor greater than 1 giving evidence in favor of one of the models (the numerator), and a Bayes factor smaller than 1 giving evidence in favor of the other model (the denominator). Yet, it is common to interpret the **magnitude** of relative evidence based on conventions of intervals (presented below), such that the values of a *BF*_{10} (comparing the alternative to the null) can be interpreted as:

For human readability, it is recommended to report BFs so that the ratios are larger than 1 - for example, it's harder to understand a *BF*_{10}\=0.07 (indicating the data are 0.07 times more probable under the alternative) than a *BF*_{01}\=1/0.07\=14.3 (indicating the data are 14.3 times more probable under the null. **BFs** between 0 and 1, indicating evidence *against* the hypothesis, can be converted via `bf = 1 / abs(bf)`

.

One can report **Bayes factors** using the following sentence:

There is a strong evidence against the null hypothesis (BF = 12.2).

interpret_bf(x, rules = "jeffreys1961")

**bf = 1 - 3**: Anecdotal**bf = 3 - 10**: Moderate**bf = 10 - 30**: Strong**bf = 30 - 100**: Very strong**bf > 100**: Extreme

interpret_bf(x, rules = "raftery1995")

**bf = 1 - 3**: Weak**bf = 3 - 20**: Positive**bf = 20 - 150**: Strong**bf > 150**: Very strong

Experts have suggested thresholds value to help interpreting and convergence and sampling quality. As such, `Rhat`

should not be larger than 1.1 [@gelman1992inference] or 1.01 [@vehtari2019rank]. An `effective sample size`

(ESS) greater than 1,000 is sufficient for stable estimates [@burkner2017brms].

The interpretation of Bayesian indices is detailed in this article.

**Any scripts or data that you put into this service are public.**

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.