An open API service indexing awesome lists of open source software.

https://github.com/poissonconsulting/universals

An R package of S3 generic methods for Bayesian analyses that generate MCMC samples
https://github.com/poissonconsulting/universals

cran generics model-fitting rstats s3

Last synced: 11 months ago
JSON representation

An R package of S3 generic methods for Bayesian analyses that generate MCMC samples

Awesome Lists containing this project

README

          

---
output: github_document
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```

# universals

[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable)
[![R-CMD-check](https://github.com/poissonconsulting/universals/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/poissonconsulting/universals/actions/workflows/R-CMD-check.yaml)
[![codecov](https://codecov.io/gh/poissonconsulting/universals/branch/main/graph/badge.svg?token=iSrKzkDv8E)](https://app.codecov.io/gh/poissonconsulting/universals)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/license/mit/)
[![CRAN status](https://www.r-pkg.org/badges/version/universals)](https://cran.r-project.org/package=universals)
![CRAN downloads](https://cranlogs.r-pkg.org/badges/universals)

`universals` provides S3 generic methods and some default implementations
for Bayesian analyses that generate Markov Chain Monte Carlo (MCMC) samples.

The purpose of `universals` is to reduce package dependencies and conflicts.

## Philosophy

The methods are primarily designed to be used for Bayesian analyses that generate Markov Chain Monte Carlo (MCMC) samples but many can also be used for Maximum Likelihood (ML) and other types of analyses.

The names of the functions are based on the following definitions/concepts:

- A `term` is a single real or integer `value`.
- A `par` (short for parameter) is a numeric object of terms.
- An MCMC object is a collection of MCMC samples that refer to a set of terms.
- The samples are arranged in one or more `chains` of the same length (number of `iterations`).
- The number of `simulations` is the product of the number of iterations and the number of chains.
- The number of `samples` is the product of the number of simulations and the number of `terms`.

The 'nlist' package implements many of the methods for its 'nlists' class.

## Usage

`universals` is designed to be used by package developers.

It is recommended to import and re-export the generics of interest. For example, to provide a method for the S3 `pars()` method, use the following `roxygen2` code:

``` {r, eval = FALSE}
#' @importFrom universals pars
#' @export
universals::pars
```

## Installation

### Release

To install the release version from [CRAN](https://CRAN.R-project.org/package=universals).
```r
install.packages("universals")
```

The website for the release version is at .

### Development

To install the development version from [r-universe](https://poissonconsulting.r-universe.dev/universals).
```r
install.packages("universals", repos = c("https://poissonconsulting.r-universe.dev", "https://cloud.r-project.org"))
```

or from [GitHub](https://github.com/poissonconsulting/universals)
```r
# install.packages("remotes")
remotes::install_github("poissonconsulting/universals")
```

## Inspiration

- [r-lib/generics](https://github.com/r-lib/generics)

## Contribution

Please report any [issues](https://github.com/poissonconsulting/universals/issues).

[Pull requests](https://github.com/poissonconsulting/universals/pulls) are always welcome.

## Code of Conduct

Please note that the universals project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html).
By contributing to this project, you agree to abide by its terms.