epinowcast / primarycensored

Primary event censored distributions in R and Stan.
https://primarycensored.epinowcast.org/
Other
7 stars 1 forks source link
censoring distributions truncation

Primary event censored distributions in R and Stan primarycensored website

Lifecycle:
experimental R-CMD-check Codecov test
coverage

Universe MIT
license GitHub
contributors

DOI

Summary

This package provides R functions for working with primary event censored distributions and Stan implementations for use in Bayesian modeling. Primary event censored distributions are useful for modeling delayed reporting scenarios in epidemiology and other fields. It provides support for arbitrary delay distributions, a range of common primary distributions, and allows for truncation and secondary event censoring to be accounted for. In addition, it provides both frequentist and Bayesian methods for fitting primary event censored distributions to data.

Installation

Installing the package You can install the latest released version using the normal `R` function, though you need to point to `r-universe` instead of CRAN: ``` r install.packages( "primarycensored", repos = "https://epinowcast.r-universe.dev" ) ``` Alternatively, you can use the [`remotes` package](https://remotes.r-lib.org/) to install the development version from Github (warning! this version may contain breaking changes and/or bugs): ``` r remotes::install_github( "epinowcast/primarycensored", dependencies = TRUE ) ``` Similarly, you can install historical versions by specifying the release tag (e.g. this installs [`0.2.0`](https://github.com/epinowcast/primarycensored/releases/tag/v0.2.0)): ``` r remotes::install_github( "epinowcast/primarycensored", dependencies = TRUE, ref = "v0.2.0" ) ``` *Note: You can also use that last approach to install a specific commit if needed, e.g. if you want to try out a specific unreleased feature, but not the absolute latest developmental version.*
Installing CmdStan (optional for Stan functionality) If you wish to use the Stan functions, you will need to install [CmdStan](https://mc-stan.org/users/interfaces/cmdstan), which also entails having a suitable C++ toolchain setup. We recommend using the [`cmdstanr` package](https://mc-stan.org/cmdstanr/). The Stan team provides instructions in the [*Getting started with `cmdstanr`*](https://mc-stan.org/cmdstanr/articles/cmdstanr.html) vignette, with other details and support at the [package site](https://mc-stan.org/cmdstanr/) along with some key instructions available in the [Stan resources package vignette](https://package.epinowcast.org/articles/stan-help.html#toolchain), but the brief version is: ``` r # if you not yet installed `primarycensored`, or you installed it without # `Suggests` dependencies install.packages( "cmdstanr", repos = c("https://stan-dev.r-universe.dev", getOption("repos")) ) # once `cmdstanr` is installed: cmdstanr::install_cmdstan() ``` *Note: You can speed up CmdStan installation using the `cores` argument. If you are installing a particular version of `epinowcast`, you may also need to install a past version of CmdStan, which you can do with the `version` argument.*

Resources

We provide a range of other documentation, case studies, and community spaces to ask (and answer!) questions:

Package Website The [`primarycensored` website](https://primarycensored.epinowcast.org/) includes a function reference, model outline, and case studies using the package. The site mainly concerns the release version, but you can also find documentation for [the latest development version](https://primarycensored.epinowcast.org/dev/).
Vignettes We have created [package vignettes](https://primarycensored.epinowcast.org/articles) to help you get started with primarycensored and to highlight other features with case studies.
Organisation Website Our [organisation website](https://www.epinowcast.org/) includes links to other resources, [guest posts](https://www.epinowcast.org/blog.html), and [seminar schedule](https://www.epinowcast.org/seminars.html) for both upcoming and past recordings.
Community Forum Our [community forum](https://community.epinowcast.org/) has areas for [question and answer](https://community.epinowcast.org/c/interface/15) and [considering new methods and tools](https://community.epinowcast.org/c/projects/11), among others. If you are generally interested in real-time analysis of infectious disease, you may find this useful even if you do not use `primarycensored`.

Contributing

We welcome contributions and new contributors! We particularly appreciate help on identifying and identified issues. Please check and add to the issues, and/or add a pull request and see our contributing guide for more information.

If you need a different underlying model for your work: primarycensored provides a flexible framework for censored distributions in both R and Stan. If you implement new distributions or censoring mechanisms that expand the overall flexibility or improve the defaults, please let us know either here or on the community forum. We always like to hear about new use-cases and extensions to the package.

How to make a bug report or feature request

Please briefly describe your problem and what output you expect in an issue. If you have a question, please don’t open an issue. Instead, ask on our Q and A page. See our contributing guide for more information.

Code of Conduct

Please note that the primarycensored project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Citation

If making use of our methodology or the methodology on which ours is based, please cite the relevant papers from our methods outline. If you use primarycensored in your work, please consider citing it with citation("primarycensored").

Contributors

All contributions to this project are gratefully acknowledged using the allcontributors package following the all-contributors specification. Contributions of any kind are welcome!

Code

seabbs, SamuelBrand1, athowes, sbfnk

Issue Authors

zsusswein, jcblemai

Issue Contributors

parksw3