-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.Rmd
61 lines (43 loc) · 4.37 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
---
output: github_document
#output: html_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# RDM tools for Cancer Screening Models
<!-- badges: start -->
[![Build & R-CMD Check](https://github.com/c-rutter/crcrdm/workflows/R-CMD-check/badge.svg)](https://github.com/c-rutter/crcrdm/actions)
[![Test Coverage](https://github.com/c-rutter/crcrdm/workflows/test-coverage/badge.svg)](https://github.com/c-rutter/crcrdm/actions)
[![codecov](https://codecov.io/gh/c-rutter/crcrdm/branch/master/graph/badge.svg?token=G4E73T9WOO)](https://codecov.io/gh/c-rutter/crcrdm)
[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-green.svg)](https://www.tidyverse.org/lifecycle/#stable)
<!-- badges: end -->
Robust Decision Making is a set of methods and tools that help modelers inform policy under conditions of deep uncertainty. Characterizing the robustness of policy recommendations to uncertain assumptions is a crucial concern of modelers.
While the computational cost of uncertainty analyses can be high, High-Performance Computing (HPC) is increasingly ubiquitous and accessible. Nevertheless, using HPC tools involves a steep learning curve, which may hinder their adoption.
This repository houses `crcrdm` – an R package designed to facilitate the analysis of Cancer Screening Models using HPC resources. `crcrdm` provides an interface between your model and a parallel back-end - an HPC workflow system that orchestrates concurrent model runs. Currently, we use this package with EMEWS. This package aims to make it easier to define and efficiently run large experimental designs, reducing the need to create ad-hoc analytical code for each analysis.
<!--
The package includes features useful in ongoing analyses performed with the [CRC-SPIN](https://pubmed.ncbi.nlm.nih.gov/20647403/) model. First, it partitions the memory usage of models to a manageable size (e.g., the same model run is parallelized across different computing processes and nodes). The package also supports multi-model experimental designs. This package may also help facilitate modeling transparency by separating the analytical workflow from the model.
This package implements the `crcmodel` and the `crcexperiment` R6 classes and can be used to perform Robust Decision Making Analyses of multiple cancer screening models using High-Performance Computing resources. The package supports large-scale computational tasks that have historically been deemed unfeasible for microsimulation models, such as defining and conducting Probabilistic Sensitivity Analyses (PSAs) or robustness analyses of large models and large combinations of parameter sets.
-->
## Installation
This package can be installed from [GitHub](https://github.com/) with:
``` {.r}
# install.packages("remotes")
remotes::install_github("c-rutter/crcrdm")
```
## Status
This package is being used by the CRC-SPIN modeling team, but the CRC-SPIN model is not contained in the package. The user pool for this package is very small and we have no plans of releasing it to CRAN at this time. Future iterations of this work might make this package more general. If you would like to use this package and are interested in collaborating with us, get in touch.
## Documentation
A documentation page is available [at this link](https://c-rutter.github.io/crcrdm). This documentation page describes the package main classes and their methods.
## Key classes
This package implements two `R6` classes:
1. `crcmodel` : An `R6` class representing single model structure and its posterior distribution. A `crcmodel` can be either calibrated or not. if it is calibrated, the model object can include the posterior distribution of its parameters. A single model may contain multiple posterior distributions when those parameter sets were created by different calibration runs, with potentially different targets or priors.
2. `crcexperiment` : Contains the definition of an experiment experiment to be applied over the `crcmodel`s included in it.
## Automated Tests
This package is tested automatically after every commit across a few platforms. Results from these automated checks can be found [here](https://github.com/c-rutter/crcrdm/actions). A [test coverage report can be found here](https://app.codecov.io/gh/c-rutter/crcrdm).