Learn R Programming

bayestestR (version 0.11.5)

rope_range: Find Default Equivalence (ROPE) Region Bounds

Description

This function attempts at automatically finding suitable "default" values for the Region Of Practical Equivalence (ROPE).

Usage

rope_range(x, ...)

# S3 method for default rope_range(x, verbose = TRUE, ...)

Arguments

x

A stanreg, brmsfit or BFBayesFactor object.

...

Currently not used.

verbose

Toggle warnings.

Details

Kruschke (2018) suggests that the region of practical equivalence could be set, by default, to a range from -0.1 to 0.1 of a standardized parameter (negligible effect size according to Cohen, 1988).

  • For linear models (lm), this can be generalised to .

    \item For **logistic models**, the parameters expressed in log odds
    ratio can be converted to standardized difference through the formula
    \ifelse{html}{\out{π/√(3)}}{\eqn{\pi/\sqrt{3}}}, resulting in a
    range of `-0.18` to `0.18`.

    \item For other models with **binary outcome**, it is strongly recommended to manually specify the rope argument. Currently, the same default is applied that for logistic models.

    \item For models from **count data**, the residual variance is used. This is a rather experimental threshold and is probably often similar to `-0.1, 0.1`, but should be used with care!

    \item For **t-tests**, the standard deviation of the response is used, similarly to linear models (see above).

    \item For **correlations**, `-0.05, 0.05` is used, i.e., half the value of a negligible correlation as suggested by Cohen's (1988) rules of thumb.

    \item For all other models, `-0.1, 0.1` is used to determine the ROPE limits, but it is strongly advised to specify it manually.

References

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

Examples

Run this code
# NOT RUN {
if (require("rstanarm")) {
  model <- stan_glm(
    mpg ~ wt + gear,
    data = mtcars,
    chains = 2,
    iter = 200,
    refresh = 0
  )
  rope_range(model)

  model <- stan_glm(vs ~ mpg, data = mtcars, family = "binomial", refresh = 0)
  rope_range(model)
}

if (require("brms")) {
  model <- brm(mpg ~ wt + cyl, data = mtcars)
  rope_range(model)
}

if (require("BayesFactor")) {
  model <- ttestBF(mtcars[mtcars$vs == 1, "mpg"], mtcars[mtcars$vs == 0, "mpg"])
  rope_range(model)

  model <- lmBF(mpg ~ vs, data = mtcars)
  rope_range(model)
}
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab