Support for

`posterior::rvar`

-type column in data frames. For example, a data frame`df`

with an`rvar`

column`".pred"`

can now be called directly via`p_direction(df, rvar_col = ".pred")`

.Added support for

`{marginaleffects}`

The ROPE or threshold ranges in

`rope()`

,`describe_posterior()`

,`p_significance()`

and`equivalence_test()`

can now be specified as a list. This allows for different ranges for different parameters.Results from objects generated by

`{emmeans}`

(`emmGrid`

/`emm_list`

) now return results with appended grid-data.Usability improvements for

`p_direction()`

:Results from

`p_direction()`

can directly be used in`pd_to_p()`

.`p_direction()`

gets an`as_p`

argument, to directly convert pd-values into frequentist p-values.`p_direction()`

gets a`remove_na`

argument, which defaults to`TRUE`

, to remove`NA`

values from the input before calculating the pd-values.Besides the existing

`as.numeric()`

method,`p_direction()`

now also has an`as.vector()`

method.

`p_significance()`

now accepts non-symmetric ranges for the`threshold`

argument.`p_to_pd()`

now also works with data frames returned by`p_direction()`

. If a data frame contains a`pd`

,`p_direction`

or`PD`

column name, this is assumed to be the pd-values, which are then converted to p-values.`p_to_pd()`

for data frame inputs gets a`as.numeric()`

and`as.vector()`

method.

- Fixed warning in CRAN check results.

- Arguments named
`group`

,`at`

,`group_by`

and`split_by`

will be deprecated in future releases of*easystats*packages. Please use`by`

instead. This affects following functions in*bayestestR*:`estimate_density()`

.

`bayesian_as_frequentist()`

now supports more model families from Bayesian models that can be successfully converted to their frequentists counterparts.`bayesfactor_models()`

now throws an informative error when Bayes factors for comparisons could not be calculated.

- Fixed issue in
`bayesian_as_frequentist()`

for*brms*models with`0 + Intercept`

specification in the model formula.

`pd_to_p()`

now returns 1 and a warning for values smaller than 0.5.`map_estimate()`

,`p_direction()`

,`p_map()`

, and`p_significance()`

now return a data-frame when the input is a numeric vector. (making the output consistently a data frame for all inputs.)Argument

`posteriors`

was renamed into`posterior`

. Before, there were a mix of both spellings, now it is consistently`posterior`

.

- Retrieving models from the environment was improved.

Fixed issues in various

`format()`

methods, which did not work properly for some few functions (like`p_direction()`

).Fixed issue in

`estimate_density()`

for double vectors that also had other class attributes.Fixed several minor issues and tests.

Improved speed performance when functions are called using

`do.call()`

.Improved speed performance to

`bayesfactor_models()`

for`brmsfit`

objects that already included a`marglik`

element in the model object.

`as.logical()`

for`bayesfactor_restricted()`

results, extracts the boolean vector(s) the mark which draws are part of the order restriction.

`p_map()`

gains a new`null`

argument to specify any non-0 nulls.Fixed non-working examples for

`ci(method = "SI")`

.Fixed wrong calculation of rope range for model objects in

`describe_posterior()`

.Some smaller bug fixes.

The minimum needed R version has been bumped to

`3.6`

.`contr.equalprior(contrasts = FALSE)`

(previously`contr.orthonorm`

) no longer returns an identity matrix, but a shifted`diag(n) - 1/n`

, for consistency.

`p_to_bf()`

, to convert p-values into Bayes factors. For more accurate approximate Bayes factors, use`bic_to_bf()`

.*bayestestR*now supports objects of class`rvar`

from package*posterior*.`contr.equalprior`

(previously`contr.orthonorm`

) gains two new functions:`contr.equalprior_pairs`

and`contr.equalprior_deviations`

to aide in setting more intuitive priors.

- has been renamed
to be more explicit about its function.`contr.equalprior`

`p_direction()`

now accepts objects of class`parameters_model()`

(from`parameters::model_parameters()`

), to compute probability of direction for parameters of frequentist models.

`Bayesfactor_models()`

for frequentist models now relies on the updated`insight::get_loglikelihood()`

. This might change some results for REML based models. See documentation.`estimate_density()`

argument`group_by`

is renamed`at`

.All

`distribution_*(random = FALSE)`

functions now rely on`ppoints()`

, which will result in slightly different results, especially with small`n`

s.Uncertainty estimation now defaults to

`"eti"`

(formerly was`"hdi"`

).

*bayestestR*functions now support`draws`

objects from package*posterior*.`rope_range()`

now handles log(normal)-families and models with log-transformed outcomes.New function

`spi()`

, to compute shortest probability intervals. Furthermore, the`"spi"`

option was added as new method to compute uncertainty intervals.

`bci()`

for some objects incorrectly returned the equal-tailed intervals.

- Fixes failing tests in CRAN checks.

`describe_posterior()`

gains a`plot()`

method, which is a short cut for`plot(estimate_density(describe_posterior()))`

.

Fixed issues related to last

*brms*update.Fixed bug in

`describe_posterior.BFBayesFactor()`

where Bayes factors were missing from out put ( #442 ).

- All Bayes factors are now returned as
`log(BF)`

(column name`log_BF`

). Printing is unaffected. To retrieve the raw BFs, you can run`exp(result$log_BF)`

.

`bci()`

(and its alias`bcai()`

) to compute bias-corrected and accelerated bootstrap intervals. Along with this new function,`ci()`

and`describe_posterior()`

gain a new`ci_method`

type,`"bci"`

.

`contr.bayes`

has been renamedto be more explicit about its function.`contr.orthonorm`

The default

`ci`

width has been changed to 0.95 instead of 0.89 (see here). This should not come as a surprise to the long-time users of`bayestestR`

as we have been warning about this impending change for a while now :)Column names for

`bayesfactor_restricted()`

are now`p_prior`

and`p_posterior`

(was`Prior_prob`

and`Posterior_prob`

), to be consistent with`bayesfactor_inclusion()`

output.Removed the experimental function

`mhdior`

.

Support for

`blavaan`

models.Support for

`blrm`

models (*rmsb*).Support for

`BGGM`

models (*BGGM*).`check_prior()`

and`describe_prior()`

should now also work for more ways of prior definition in models from*rstanarm*or*brms*.

Fixed bug in

`print()`

method for the`mediation()`

function.Fixed remaining inconsistencies with CI values, which were not reported as fraction for

`rope()`

.Fixed issues with special prior definitions in

`check_prior()`

,`describe_prior()`

and`simulate_prior()`

.

Support for

`bamlss`

models.Roll-back R dependency to R >= 3.4.

- All
`.stanreg`

methods gain a`component`

argument, to also include auxiliary parameters.

`bayesfactor_parameters()`

no longer errors for no reason when computing extremely un/likely direction hypotheses.`bayesfactor_pointull()`

/`bf_pointull()`

are now`bayesfactor_pointnull()`

/`bf_pointnull()`

(can*you*spot the difference? #363 ).

`sexit()`

, a function for sequential effect existence and significance testing (SEXIT).

Added startup-message to warn users that default ci-width might change in a future update.

Added support for

*mcmc.list*objects.

`unupdate()`

gains a`newdata`

argument to work with`brmsfit_multiple`

models.Fixed issue in Bayes factor vignette (don’t evaluate code chunks if packages not available).

Added

`as.matrix()`

function for`bayesfactor_model`

arrays.`unupdate()`

, a utility function to get Bayesian models un-fitted from the data, representing the priors only.

`ci()`

supports`emmeans`

- both Bayesian and frequentist ( #312 - cross fix with`parameters`

)

Fixed issue with

*default*rope range for`BayesFactor`

models.Fixed issue in collinearity-check for

`rope()`

for models with less than two parameters.Fixed issue in print-method for

`mediation()`

with`stanmvreg`

-models, which displays the wrong name for the response-value.Fixed issue in

`effective_sample()`

for models with only one parameter.`rope_range()`

for`BayesFactor`

models returns non-`NA`

values ( #343 )

`mediation()`

, to compute average direct and average causal mediation effects of multivariate response models (`brmsfit`

,`stanmvreg`

).

`bayesfactor_parameters()`

works with`R<3.6.0`

.

Preliminary support for

*stanfit*objects.Added support for

*bayesQR*objects.

`weighted_posteriors()`

can now be used with data frames.Revised

`print()`

for`describe_posterior()`

.Improved value formatting for Bayesfactor functions.

Link transformation are now taken into account for

`emmeans`

objets. E.g., in`describe_posterior()`

.Fix

`diagnostic_posterior()`

when algorithm is not “sampling”.Minor revisions to some documentations.

Fix CRAN check issues for win-old-release.

`describe_posterior()`

now also works on`effectsize::standardize_posteriors()`

.`p_significance()`

now also works on`parameters::simulate_model()`

.`rope_range()`

supports more (frequentis) models.

Fixed issue with

`plot()`

`data.frame`

-methods of`p_direction()`

and`equivalence_test()`

.Fix check issues for forthcoming insight-update.

- Support for
*bcplm*objects (package**cplm**)

`estimate_density()`

now also works on grouped data frames.

Fixed bug in

`weighted_posteriors()`

to properly weight Intercept-only`BFBayesFactor`

models.Fixed bug in

`weighted_posteriors()`

when models have very low posterior probability ( #286 ).Fixed bug in

`describe_posterior()`

,`rope()`

and`equivalence_test()`

for*brmsfit*models with monotonic effect.Fixed issues related to latest changes in

`as.data.frame.brmsfit()`

from the*brms*package.

Added

`p_pointnull()`

as an alias to`p_MAP()`

.Added

`si()`

function to compute support intervals.Added

`weighted_posteriors()`

for generating posterior samples averaged across models.Added

`plot()`

-method for`p_significance()`

.`p_significance()`

now also works for*brmsfit*-objects.`estimate_density()`

now also works for*MCMCglmm*-objects.`equivalence_test()`

gets`effects`

and`component`

arguments for*stanreg*and*brmsfit*models, to print specific model components.Support for

*mcmc*objects (package**coda**)Provide more distributions via

`distribution()`

.Added

`distribution_tweedie()`

.Better handling of

`stanmvreg`

models for`describe_posterior()`

,`diagnostic_posterior()`

and`describe_prior()`

.

`point_estimate()`

: argument`centrality`

default value changed from ‘median’ to ‘all’.`p_rope()`

, previously as exploratory index, was renamed as`mhdior()`

(for*Max HDI inside/outside ROPE*), as`p_rope()`

will refer to`rope(..., ci = 1)`

( #258 )

Fixed mistake in description of

`p_significance()`

.Fixed error when computing BFs with

`emmGrid`

based on some non-linear models ( #260 ).Fixed wrong output for percentage-values in

`print.equivalence_test()`

.Fixed issue in

`describe_posterior()`

for`BFBayesFactor`

-objects with more than one model.

`convert_bayesian_to_frequentist()`

Convert (refit) Bayesian model as frequentist`distribution_binomial()`

for perfect binomial distributions`simulate_ttest()`

Simulate data with a mean difference`simulate_correlation()`

Simulate correlated datasets`p_significance()`

Compute the probability of Practical Significance (ps)`overlap()`

Compute overlap between two empirical distributions`estimate_density()`

:`method = "mixture"`

argument added for mixture density estimation

- Fixed bug in
`simulate_prior()`

for stanreg-models when`autoscale`

was set to`FALSE`

- revised
`print()`

-methods for functions like`rope()`

,`p_direction()`

,`describe_posterior()`

etc., in particular for model objects with random effects and/or zero-inflation component

`check_prior()`

to check if prior is informative`simulate_prior()`

to simulate model’s priors as distributions`distribution_gamma()`

to generate a (near-perfect or random) Gamma distribution`contr.bayes`

function for orthogonal factor coding (implementation from Singmann & Gronau’s`bfrms`

, used for proper prior estimation when factor have 3 levels or more. See Bayes factor vignette ## Changes to functionsAdded support for

`sim`

,`sim.merMod`

(from`arm::sim()`

) and`MCMCglmm`

-objects to many functions (like`hdi()`

,`ci()`

,`eti()`

,`rope()`

,`p_direction()`

,`point_estimate()`

, …)`describe_posterior()`

gets an`effects`

and`component`

argument, to include the description of posterior samples from random effects and/or zero-inflation component.More user-friendly warning for non-supported models in

`bayesfactor()`

-methods

Fixed bug in

`bayesfactor_inclusion()`

where the same interaction sometimes appeared more than once (#223)Fixed bug in

`describe_posterior()`

for*stanreg*models fitted with fullrank-algorithm

`rope_range()`

for binomial model has now a different default (-.18; .18 ; instead of -.055; .055)`rope()`

: returns a proportion (between 0 and 1) instead of a value between 0 and 100`p_direction()`

: returns a proportion (between 0.5 and 1) instead of a value between 50 and 100 (#168)`bayesfactor_savagedickey()`

:`hypothesis`

argument replaced by`null`

as part of the new`bayesfactor_parameters()`

function

`density_at()`

,`p_map()`

and`map_estimate()`

:`method`

argument added`rope()`

:`ci_method`

argument added`eti()`

: Computes equal-tailed intervals`reshape_ci()`

: Reshape CIs between wide/long`bayesfactor_parameters()`

: New function, replacing`bayesfactor_savagedickey()`

, allows for computing Bayes factors against a*point-null*or an*interval-null*`bayesfactor_restricted()`

: Function for computing Bayes factors for order restricted models

`bayesfactor_inclusion()`

now works with`R < 3.6`

.

`equivalence_test()`

: returns capitalized output (e.g.,`Rejected`

instead of`rejected`

)`describe_posterior.numeric()`

:`dispersion`

defaults to`FALSE`

for consistency with the other methods

`pd_to_p()`

and`p_to_pd()`

: Functions to convert between probability of direction (pd) and p-valueSupport of

`emmGrid`

objects:`ci()`

,`rope()`

,`bayesfactor_savagedickey()`

,`describe_posterior()`

, …

- Improved tutorial 2

`describe_posterior()`

: Fixed column order restoration`bayesfactor_inclusion()`

: Inclusion BFs for matched models are more inline with JASP results.

plotting functions now require the installation of the

`see`

package`estimate`

argument name in`describe_posterior()`

and`point_estimate()`

changed to`centrality`

`hdi()`

,`ci()`

,`rope()`

and`equivalence_test()`

default`ci`

to`0.89`

`rnorm_perfect()`

deprecated in favour of`distribution_normal()`

`map_estimate()`

now returns a single value instead of a dataframe and the`density`

parameter has been removed. The MAP density value is now accessible via`attributes(map_output)$MAP_density`

`describe_posterior()`

,`describe_prior()`

,`diagnostic_posterior()`

: added wrapper function`point_estimate()`

added function to compute point estimates`p_direction()`

: new argument`method`

to compute pd based on AUC`area_under_curve()`

: compute AUC`distribution()`

functions have been added`bayesfactor_savagedickey()`

,`bayesfactor_models()`

and`bayesfactor_inclusion()`

functions has been addedStarted adding plotting methods (currently in the

`see`

package) for`p_direction()`

and`hdi()`

`probability_at()`

as alias for`density_at()`

`effective_sample()`

to return the effective sample size of Stan-models`mcse()`

to return the Monte Carlo standard error of Stan-models

Improved documentation

Improved testing

`p_direction()`

: improved printing`rope()`

for model-objects now returns the HDI values for all parameters as attribute in a consistent wayChanges legend-labels in

`plot.equivalence_test()`

to align plots with the output of the`print()`

-method (#78)

`hdi()`

returned multiple class attributes (#72)Printing results from

`hdi()`

failed when`ci`

-argument had fractional parts for percentage values (e.g.`ci = 0.995`

).`plot.equivalence_test()`

did not work properly for*brms*-models (#76).

CRAN initial publication and 0.1.0 release

Added a

`NEWS.md`

file to track changes to the package