Jure Demšar, Grega Repovš and Erik Štrumbelj

- Faculty of Computer and Information Science, University of Ljubljana
- MBLab, Department of Psychology, Faculty of Arts, University of Ljubljana

This is an R package intended for Bayesian statistical analysis in the field of psychology. Psychology is one of the fields where the replication crisis is the most prominent. Scientist believe that one of the main reason for this might be non-transparent and inappropriate use of frequentist statistics. We believe that using fully transparent Bayesian methods provided in this package could greatly alleviate the replication crisis in psychology.

We also prepared several examples where we used the
**bayes4psy** package to perform Bayesian data analysis for
scientific publications on actual data gathered by psychological tests.
These examples can be found on our GitHub
repository. This repository also includes short test scenarios
(these scenarios execute all developed functionalities on dummy data)
intended for debugging the package.

This readme document provides only a brief overview of the package, a detailed description of all implemented functions is provided in package’s help pages.

Bayesian models in the **bayes4psy** package are written
with the Stan language. Stan functions
required for working with these models are accessed via the
**RStan** package. There are currently five models in the
package:

- a Bayesian t-test (Bayesian alternative to the classic t-test, see John Kruschke – Doing Bayesian Data Analysis: A Tutorial with R, JAGS, and Stan),
- a reaction time model (a hierarchical exponentially modified Gaussian model),
- a success rate model (a hierarchical Bernoulli-Beta model),
- a linear model (a hierarchical linear regression),
- a color model (normal/Von Mises model).

The fitted model objects returned by the **bayes4psy**
package are called *b_results* objects. These objects contain
three components, *extract* contains values of fitted parameters,
*fit* is the original *stanfit* object and *data*
is the input data used for fitting. To fit a model to the data one has
to first prepare the input data and then call an appropriate fitting
function:

- b_ttest (the Bayesian t-test),
- b_reaction_time (the reaction time model),
- b_success_rate (the success rate model,
- b_linear (the linear model),
- b_color (the color model).

If no priors are provided as parameters for fitting functions, then flat (improper) priors are put on all parameters. See provided examples and tests to see how one can specify their own priors.

To enable users without extensive programming knowledge to perform professional level Bayesian data analysis we developed a number of custom methods. Below is a short description of functions common to all models, for descriptions of functions specific to certain models consult the package’s help pages.

prints a summary of the fit.`summary`

,`print`

prints a more detailed summary of the fit (same as RStan’s`show`

*print*function).visualize the quality of the fitted model against the input data.`plot_fit`

construct a trace plot for relevant parameters of the fitted model.`plot_trace`

extracts the parameters of the fitted model.`get_parameters`

get parameters for each subject (useful only for hierarchical models).`get_subject_parameters`

visualize means for a single or multiple fitted models.`plot_means`

compare means between two or more fitted models.`compare_means`

visualize the difference of means between two or more fitted models.`plot_means_difference`

visualize distributions underlying fitted models, can be used to visualize one or more fitted models.`plot_distributions`

draw and compare samples from distributions underlying fitted models, can be used to compare two or more fitted models.`compare_distributions`

visualize the difference in distributions underlying fitted models, can be used to compare two or more fitted models.`plot_distributions_difference`

- bayes4psy_tools repository with real life examples that use the package to perform scientific paper grade Bayesian data analysis.
- Open an issue GitHub issues for bug reports, feature requests.
- Stan the Stan homepage.

You can install the development version from GitHub. To do so you
first have to install the **RStan** package and C++
toolchain (instructions).
Once **RStan** and the toolchain are installed, you can
install **bayes4psy** by using the
**devtools** package in R:

```
if (!require(devtools)) {
install.packages("devtools")
library(devtools)
}install_github("bstatcomp/bayes4psy")
```

The research behind this software was partially funded by the Slovenian Research Agency (ARRS) through grants L1-7542 (Advancement of computationally intensive methods for efficient modern general-purpose statistical analysis and inference), P3-0338 (Physiological mechanisms of neurological disorders and diseases), J3-9264 (Decomposing cognition: working memory mechanism and representations), P5-0410 (Digitalization as driving force for sustainability of individuals, organizations, and society), and P5-0110 (Psychological and neuroscientific aspects of cognition).