Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seabbs/speedymarkov
Speed up Discrete Markov Model Simulations.
https://github.com/seabbs/speedymarkov
code-optimization code-profiling health-economic-evaluation markov-modelling rcpp rstats
Last synced: 8 days ago
JSON representation
Speed up Discrete Markov Model Simulations.
- Host: GitHub
- URL: https://github.com/seabbs/speedymarkov
- Owner: seabbs
- License: gpl-3.0
- Created: 2019-11-22T13:53:56.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-22T16:50:59.000Z (about 4 years ago)
- Last Synced: 2024-12-24T03:28:09.237Z (16 days ago)
- Topics: code-optimization, code-profiling, health-economic-evaluation, markov-modelling, rcpp, rstats
- Language: R
- Homepage: https://www.samabbott.co.uk/SpeedyMarkov
- Size: 7.65 MB
- Stars: 7
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.Rmd
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
---
output: github_document
---```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/"
)
```# Speed up Discrete Markov Model Cost Effectiveness Simulations
[![badge](https://img.shields.io/badge/Launch-SpeedyMarkov-blue.svg)](https://mybinder.org/v2/gh/seabbs/SpeedyMarkov/master?urlpath=rstudio)
[![CRAN_Release_Badge](http://www.r-pkg.org/badges/version-ago/SpeedyMarkov)](https://CRAN.R-project.org/package=SpeedyMarkov)
[![develVersion](https://img.shields.io/badge/devel%20version-0.1.0-blue.svg?style=flat)](https://github.com/seabbs/SpeedyMarkov)
[![DOI](https://zenodo.org/badge/223414207.svg)](https://zenodo.org/badge/latestdoi/223414207)**Work in progress**
This package:
* Compares a functional markov modelling approach to a reference approach for several example models.
* Explores approaches to speeding up Markov modelling in a principled fashion making use of C++ when required.
* Details the benefits of parallisation and provide a code structure in which parallisation is easy to make use of.
* Provides a toolkit for use in discrete Markov modelling.
* Provides optimised code that may be ported into other applications and workflows.The work in this package was started at the Health Economic 2019 hackathon hosted at Imperial. Much of this work is based on that developed by the [hermes6](https://github.com/HealthEconomicsHackathon/hermes6) team. The original reference approach was developed by [Howard Thom](https://orcid.org/0000-0001-8576-5552).
## Installation
Install the CRAN version (when released):
```{r cran-installation, eval = FALSE}
install.packages("SpeedyMarkov")
```Alternatively install the development version from GitHub:
```{r gh-installation, eval = FALSE}
# install.packages("remotes")
remotes::install_github("seabbs/SpeedyMarkov")
```## Documentation
[![Documentation](https://img.shields.io/badge/Documentation-release-lightgrey.svg?style=flat)](https://www.samabbott.co.uk/SpeedyMarkov/)
[![Development documentation](https://img.shields.io/badge/Documentation-development-lightblue.svg?style=flat)](https://www.samabbott.co.uk/SpeedyMarkov/dev)
[![Functions](https://img.shields.io/badge/Documentation-functions-orange.svg?style=flat)](https://www.samabbott.co.uk/SpeedyMarkov/reference/index.html)## Testing
[![Travis-CI Build Status](https://travis-ci.org/seabbs/SpeedyMarkov.svg?branch=master)](https://travis-ci.org/seabbs/SpeedyMarkov)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/seabbs/SpeedyMarkov?branch=master&svg=true)](https://ci.appveyor.com/project/seabbs/SpeedyMarkov)
[![Coverage Status](https://img.shields.io/codecov/c/github/seabbs/SpeedyMarkov/master.svg)](https://codecov.io/github/seabbs/SpeedyMarkov?branch=master)## Quick start
The first step is to specify a Markov model in the format specified by `SpeedyMarkov`. An example framework is `example_two_state_markov` which is a two state Markov model that compares an intervention to a baseline. See `?example_two_state_markov` for more details.
```{r}
SpeedyMarkov::example_two_state_markov()
```Once a model has been specified a cost effectiveness analysis can run using the following function call.
```{r}
SpeedyMarkov::markov_ce_pipeline(SpeedyMarkov::example_two_state_markov(),
duration = 100, samples = 10, discount = 1.035,
baseline = 1, willingness_to_pay_thresold = 20000)
```See [Functions](https://www.samabbott.co.uk/SpeedyMarkov/reference/index.html) for more details of the functions included in the package (`markov_ce_pipeline` for example wraps multiple modular - user customisable - functions). The package vignettes also provide more detail.
## Contributing
File an issue [here](https://github.com/seabbs/SpeedyMarkov/issues) if there is a feature that you think is missing from the package, or better yet submit a pull request.
Please note that the `SpeedyMarkov` project is released with a [Contributor Code of Conduct](https://github.com/seabbs/SpeedyMarkov/blob/master/.github/CODE_OF_CONDUCT.md). By contributing to this project, you agree to abide by its terms.
## Citing
If using `SpeedyMarkov` please consider citing the package in the relevant work. Citation information can be generated in R using the following (after installing the package),
```{r}
citation("SpeedyMarkov")
```## Docker
This package has been developed in docker based on the `rocker/tidyverse` image, to access the development environment enter the following at the command line (with an active docker daemon running),
```{bash, eval = FALSE}
docker pull seabbs/SpeedyMarkov
docker run -d -p 8787:8787 -e USER=SpeedyMarkov -e PASSWORD=SpeedyMarkov --name SpeedyMarkov seabbs/speedymarkov
```The rstudio client can be accessed on port `8787` at `localhost` (or your machines ip). The default username is ceplotr and the default password is SpeedyMarkov. Alternatively, access the development environment via [binder](https://mybinder.org/v2/gh/seabbs/SpeedyMarkov/master?urlpath=rstudio).