A Compendium of Bayesian Statistical Routines Written in C++
This is a compendium of C++ routines useful for Bayesian statistics. We steal other people’s C++ code, repurpose it, and export it so developers of R packages can use it in their C++ code. We actually don’t steal anything, or claim that Thomas Bayes did, but copy code that is compatible with our GPL 3 licence, fully acknowledging the authorship of the original code.
How to contribute
You are welcome to contribute to StealLikeBayes! How does this work?
Things to remember
- We only accept code from packages and repositories with compatible licences. If you are contributing code from a package distributed under GPL 3 you’re good. Otherwise, you must argue the licence compatibility.
- Fully acknowledge the source of the contributed code in the file with your code and documentation.
- Once you contribute, we might reach out later for you to join the authors of a paper to be published on the basis of this package.
- Provide one Bayesian statistical routine per submission.
- Your submission must consist of:
- one C++ file,
src/*.cpp - the corresponding C++ header file,
src/*.h - one R file with a wrapper for your main C++ function,
R/*.Rwith full documentation and acknowledgement of the original code authorship, - one R file with tests of your function,
inst/tinytest/test_*.R, - updates on your authorship in
DESCRIPTION, - if required, updates on dependencies in
DESCRIPTIONandR/StealLikeBayes-package.R.
- one C++ file,
How to use the package StealLikeBayes
Please, feel free to use it whatever way you feel like, ofc! We create it with two intended uses:
Installation
The first time you install the package
You must have a cpp compiler. Follow the instructions from Section 1.3. by Eddelbuettel & François (2023). In short, for Windows: install RTools, for macOS: install Xcode Command Line Tools, and for Linux: install the standard development packages.
Once that’s done:
You can install the StealLikeBayes package by running:
install_packages("StealLikeBayes")You can install the developer’s version of StealLikeBayes from its GitHub repository by running:
devtools::install_github("bsvars/StealLikeBayes")The origin story
The work on this package was initiated during the 2025 NUMBAT Hackathon. Then, Adam and Longcan from the University of Melbourne, and Shelly, Filip, and Kenyon from Monash University joined Tomasz to work together on the StealLikeBayes package version 1.0. We thank Monash NUMBATs and Monash EBS for organising the event and providing resources that enabled collaborative development.
