p_to_bf {bayestestR} | R Documentation |
Convert p-values to (pseudo) Bayes Factors. This transformation has been
suggested by Wagenmakers (2022), but is based on a vast amount of assumptions.
It might therefore be not reliable. Use at your own risks. For more accurate
approximate Bayes factors, use bic_to_bf()
instead.
p_to_bf(x, log = FALSE, ...) ## S3 method for class 'numeric' p_to_bf(x, log = FALSE, n_obs = NULL, ...) ## Default S3 method: p_to_bf(x, log = FALSE, ...)
x |
A (frequentist) model object, or a (numeric) vector of p-values. |
log |
Wether to return log Bayes Factors. Note: The |
... |
Other arguments to be passed (not used for now). |
n_obs |
Number of observations. Either length 1, or same length as |
A data frame with the p-values and pseudo-Bayes factors (against the null).
Wagenmakers, E.J. (2022). Approximate objective Bayes factors from p-values and sample size: The 3p(sqrt(n)) rule. Preprint available on ArXiv: https://psyarxiv.com/egydq
bic_to_bf()
for more accurate approximate Bayes factors.
if (requireNamespace("parameters", quietly = TRUE)) { data(iris) model <- lm(Petal.Length ~ Sepal.Length + Species, data = iris) p_to_bf(model) # Examples that demonstrate comparison between # BIC-approximated and pseudo BF # -------------------------------------------- m0 <- lm(mpg ~ 1, mtcars) m1 <- lm(mpg ~ am, mtcars) m2 <- lm(mpg ~ factor(cyl), mtcars) # In this first example, BIC-approximated BF and # pseudo-BF based on p-values are close... # BIC-approximated BF, m1 against null model bic_to_bf(BIC(m1), denominator = BIC(m0)) # pseudo-BF based on p-values - dropping intercept p_to_bf(m1)[-1, ] # The second example shows that results from pseudo-BF are less accurate # and should be handled wit caution! bic_to_bf(BIC(m2), denominator = BIC(m0)) p_to_bf(anova(m2), n_obs = nrow(mtcars)) }