Features

  • major refactoring and speed-up of unit tests
  • adds support for __default_factor and __default_continuous priors in JAGS_formula() - when specified in the prior_list, these are used as default priors for factor and continuous predictors that are not explicitly specified
  • adds automatic standardization of continuous predictors via formula_scale parameter in JAGS_formula() and JAGS_fit() - improves MCMC sampling efficiency and numerical stability
  • adds transform_scale_samples() function to transform posterior samples back to original scale after standardization
  • adds transform_prior_samples() function to generate and transform prior samples using the same matrix transformation as posterior samples - enables correct visualization of priors on the original (unscaled) predictor scale, including proper handling of the intercept which depends on multiple coefficient priors
  • adds transform_scaled argument to plot_posterior() for visualizing prior and posterior distributions on the original (unscaled) scale when using formula-based models with auto-scaling
  • adds exp_lin transformation type for log-intercept unscaling in density/plotting functions: exp(a + b * log(x))
  • adds log(intercept) formula attribute for specifying models of the form log(intercept) + sum(beta_i * x_i) - useful for parameters that must be positive (e.g., standard deviation) while keeping the intercept on the original scale. Set via attr(formula, "log(intercept)") <- TRUE. Supported in JAGS_formula(), JAGS_evaluate_formula(), and marginal likelihood computation
  • adds advanced parameter filtering options to runjags_estimates_table():
    • remove_parameters = TRUE to remove all non-formula parameters
    • remove_formulas to remove all parameters from specific formulas
    • keep_parameters to keep only specified parameters
    • keep_formulas to keep only parameters from specified formulas
    • when bias is specified in remove_parameters or keep_parameters, the corresponding bias-related parameters (PET, PEESE, omega, alpha, pi_null, and phack_kind) are automatically included based on the bias prior type
  • adds probs argument to runjags_estimates_table() and runjags_estimates_empty_table() for custom quantiles (default: c(0.025, 0.5, 0.975))
  • adds effect_direction argument to plot_posterior(), plot_prior_list(), lines_prior_list(), and geom_prior_list() for PET-PEESE regression plots - use "positive" (default) for mu + PET*se + PEESE*se^2 or "negative" for mu - PET*se - PEESE*se^2
  • redesigns prior_weightfunction() around a unified side, steps, and weights specification, with wf_cumulative(), wf_fixed(), and wf_independent() constructors for cumulative Dirichlet, fixed, independent, and log-independent weightfunction priors
  • adds p-hacking and composed selection-bias priors via prior_phacking(), prior_bias(), calibration helpers, and selection_backend_spec() for compiling active step/p-hacking backend parameters
  • adds error % for inclusion BF calculation

Changes

  • changes quantile column names in runjags_estimates_table() and stan_estimates_table() from lCI/Median/uCI to numeric values (e.g., 0.025/0.5/0.975) for consistency with ensemble summary tables
  • implied prior distributions for estimated marginal means, unstandardized coefficients, and PET-PEESE no longer require prior samples
  • implied prior distributions for weightfunction weights now use analytical forms for cumulative Dirichlet, fixed, independent, and log-independent priors, including mixture and model-averaged weightfunctions where possible
  • independent weightfunction priors now allow non-reference weights above one via non-negative omega-scale priors or unrestricted log-omega priors
  • replaces the legacy dot-named weightfunction prior specifications with the unified weightfunction prior API and updates JAGS generation, marginal likelihood computation, posterior extraction, diagnostics, and summary tables to use the new component-local omega representation
  • composed selection-bias priors and publication-bias mixtures now support prior sampling and explicit unsupported-operation errors for ambiguous scalar prior generics

Fixes

  • reports inclusion Bayes factors as NA when the prior assigns probability 0 or 1 to inclusion, while keeping finite-sample bounds for posterior inclusion probabilities of 0 or 1
  • fixes incorrect ordering the printed mixture priors
  • fixes formula with no intercepts coded as 0 (instead of only -1)
  • fixes bug in .is.wholenumber with NAs and na.rm = TRUE
  • fixes ggplot prior spike layers for marginal factor plots with density and point components

Fixes

  • JAGS_diagnostics functions now correctly handle factor parameters nested within mixture priors

Fixes

Changes

Fixes

  • JAGS_formula() function now replaces removed missing intercept with 0 (so the model matrix remains unchanged)
  • resetting silent = FALSE argument in the JAGS_fit() function now fits the model non-silently again

Features

  • extending prior functions to accept expression() instead of a parameter, such objects can be use to create prior distributions that depend on other parameters in JAGS
  • extending the formula interface of JAGS_fit() function to accept expressions that are appended as literal text to the generated JAGS formula
  • extending the formula interface of JAGS_fit() function to handle uncorrelated random effects via (x||y) (lme4-like) notation

Fixes

  • JAGS_estimates_table not printing formula prefix when only spike and slab priors are supplied

Features

  • adds max_extend option to autofit_control argument in JAGS_fit() to limit the number of iterations for the model extension
  • adds JASP progress bar integration

Fixes

  • JAGS_diagnostics_density() plots for mixture distributions
  • prior and posterior plot_posterior() for simple as_mixed_posteriors objects
  • JAGS_evaluate_formula() for mixture and spike and slab priors
  • set Bayes factors based on alternative only prior distributions to NA
  • better handling of posterior samples in .fit_to_posterior()

Features

Fixes

  • small fixes for expansion of the RoBMA functionality

version 0.2.17

Features

Fixes

version 0.2.16

Features

  • update an existing JAGS fit with JAGS_extend() function
  • new element of the autofit_control argument in JAGS_fit(): "restarts" allows to restart model initialization up to restarts times in case of failure

version 0.2.15

Fixes

version 0.2.14

Features

Changes

  • contrast = "meandif" is now the default setting for prior_factor function
  • depreciating transform_orthonormal argument in favor of more general transform_factors argument
  • switching dummy contrast/factor attributes to treatment for consistency (https://github.com/FBartos/BayesTools/issues/23)

Fixes

  • zero length inputs to check_bool(), check_char(), check_real(), check_int(), and check_list() do not throw error if allow_NULL = TRUE
  • properly aggregating identical priors in the plotting function (previously overlying multiple spikes on top of each other when attributes did not match)
  • student-t allowed as a prior distribution name
  • fixing factor contrast settings in JAGS_evaluate_formula
  • fixing spike prior transformations

version 0.2.13

Features

Fixes

  • inability to deal with constant intercept in marglik formula calculation
  • runjags_estimates_table() function can now remove factor spike prior distributions
  • marginal likelihood calculation for factor prior distributions with spike
  • mixing samples from vector priors of length 1
  • same prior distributions not always combined together properly when part of them was generated via the formula interface

version 0.2.12

Features

  • stan_estimates_summary() function
  • reducing dependency on runjags/rjags

Fixes

  • dealing with posterior samples from rstan
  • dealing with vector posterior samples
  • fixing MCMC error of SD calculation for transformed samples (previously reported 100 times lower)

version 0.2.11

Features

  • adding Bernoulli prior distribution
  • adding spike and slab type of prior distributions (without marginal likelihood computations/model-averaging capabilities)
  • new vignette comparing Bayes factor computation via marginal likelihood and spike and slab priors

Fixes

  • when a transformation is applied, JAGS summary tables now produce the mean of the transformed variable (previous versions incorrectly returned transformation of the mean)

Changes

  • runjags_XXX_table functions are now also exported as JAGS_XXX_functions for consistency with the rest of the code

version 0.2.10

Features

  • trace, density, and autocorrelation diagnostic plots for JAGS models

version 0.2.9

Fixes

  • dealing with NaNs in inclusion Bayes factors due to overflow with very large marginal likelihoods

version 0.2.8

Fixes

  • dealing with point prior distributions in JAGS_marglik_parameters_formula function
  • posterior samples dropping name in runjags_estimates_table function
  • ensemble_summary_table and ensemble_diagnostics_table function can create table without model components

version 0.2.7

Features

  • JAGS_evaluate_formula for evaluating formulas based on data and posterior samples (for creating predictions etc)
  • JAGS_parameter_names for transforming formula names into the JAGS syntax

version 0.2.6

Features

  • plot_models implementation for factor predictors
  • format_parameter_names for cleaning parameter names from JAGS
  • mean, sd, and var functions now return the corresponding values for differences from the mean for the orthonormal prior distributions

Fixes

  • proper splitting of transformed posterior samples based on orthonormal contrasts in runjags_summary_table function (previous version crashed under other than default fit_JAGS settings)
  • always showing name of the comparison group for treatment contrasts in runjags_summary_table function
  • better handling of transformed parameter names in plot_models function

version 0.2.5

Features

  • add_column function for extending BayesTools_table objects without breaking the attributes etc…
  • ability to suppress the formula parameter prefix in BayesTools_table functions with with formula_prefix argument

Fixes

  • allowing to pass point prior distributions for factor type predictors

version 0.2.4

Features

  • adding possibility to multiply a (formula) prior parameter by another term (via multiply_by attribute passed with the prior)
  • t-test example vignette

version 0.2.3

Fixes

  • fixing error from trying to rename formula parameters in BayesTools tables when multiple parameters were nested within a component

version 0.2.2

Fixes

  • fixing layering of prior and posterior plots in plot_posterior (posterior is now plotted over the prior)

version 0.2.1

Fixes

  • fixing JAGS code for multivariate-t prior distribution

version 0.2.0

Changes

  • ensemble inference, summary, and plot functions now extract the prior list from attribute of the fit objects (previously, the prior_list needed to be passed for each model within the model_list as the priors argument

Features

  • adding formula interface for fitting and computing marginal likelihood of JAGS models
  • adding factor prior distributions (with treatment and orthonormal contrasts)

version 0.1.4

Fixes

  • fixing DOIs in the references file
  • adds marglik argument inclusion_BF to deal with over/underflow (Issue #9)
  • better passing of BF names through the ensemble_inference_table() (Issue #11)

Features

  • adding logBF and BF01 options to ensemble_summary_table (Issue #7)

version 0.1.3

Features

  • prior_informed function for creating informed prior distributions based on the past psychological and medical research

version 0.1.2

Fixes

  • prior.plot can’t plot “spike” with plot_type == "ggplot" (Issue #6)
  • MCMC error/SD print names in BayesTools tables (Issue #8)
  • JAGS_bridgesampling_posterior unable to add a parameter via add_parameters

Features

  • interpret function for creating textual summaries based on inference and samples objects

version 0.1.1

Fixes

  • plot_posterior fails with only mu & PET samples (Issue #5)
  • ordering by “probabilities” does not work in ‘plot_models’ (Issue #3)
  • BF goes to NaN when only a single model is present in ‘models_inference’ (Issue #2)
  • summary tables unit tests unable to deal with numerical precision
  • problems with aggregating samples across multiple spikes in `plot_posterior’

Features

  • allow density.prior with range lower == upper (Issue #4)
  • moving rstan towards suggested packages

version 0.1.0

  • published on CRAN

version 0.0.0.9010

  • plotting functions for models

version 0.0.0.9009

  • plotting functions for posterior samples

version 0.0.0.9008

  • plotting functions for mixture of priors

version 0.0.0.9007

  • improvements to prior plotting functions

version 0.0.0.9006

  • ensemble and model summary tables functions

version 0.0.0.9005

  • posterior mixing functions

version 0.0.0.9004

  • model-averaging functions

version 0.0.0.9003

  • JAGS fitting related functions

version 0.0.0.9002

  • JAGS bridgesampling related functions

version 0.0.0.9001

  • JAGS model building related functions

version 0.0.0.9000

  • priors and related methods