├── _pkgdown.yml
├── vignettes
├── .gitignore
└── single_stage_cache
│ └── html
│ ├── __packages
│ ├── unnamed-chunk-9_047b0ad404456e74a289f842988c15e7.rdb
│ ├── unnamed-chunk-9_047b0ad404456e74a289f842988c15e7.rdx
│ └── unnamed-chunk-9_047b0ad404456e74a289f842988c15e7.RData
├── LICENSE
├── R
├── .DS_Store
├── zzz.R
├── utils.R
├── gui.R
├── opchar_dtl_norm.R
├── opchar_dtl_bern.R
├── opchar_dtl_pois.R
├── opchar_gs_norm.R
├── opchar_gs_bern.R
├── opchar_gs_pois.R
├── opchar_ss_norm.R
├── opchar_ss_bern.R
├── opchar_ss_pois.R
├── sim_dtl_bern.R
├── sim_gs_bern.R
├── sim_dtl_pois.R
└── sim_gs_pois.R
├── inst
├── .DS_Store
├── shiny
│ ├── .DS_Store
│ └── multiarm
│ │ ├── .DS_Store
│ │ ├── helpfiles
│ │ ├── .DS_Store
│ │ ├── design_plots.md
│ │ ├── design_beta.md
│ │ ├── design_filename.md
│ │ ├── design_J.md
│ │ ├── design_plots.Rmd
│ │ ├── design_alpha.md
│ │ ├── design_integer.md
│ │ ├── design_J.Rmd
│ │ ├── design_filename.Rmd
│ │ ├── design_beta.Rmd
│ │ ├── design_density.md
│ │ ├── design_integer.Rmd
│ │ ├── design_delta.md
│ │ ├── design_K.md
│ │ ├── design_alpha.Rmd
│ │ ├── design_density.Rmd
│ │ ├── design_K.Rmd
│ │ ├── design_delta.Rmd
│ │ ├── design_stopping.md
│ │ ├── design_correction.md
│ │ ├── design_delta1.md
│ │ ├── design_stopping.Rmd
│ │ ├── design_delta0.md
│ │ ├── design_delta1.Rmd
│ │ ├── design_lower.md
│ │ ├── design_upper.md
│ │ ├── design_swss.md
│ │ ├── design_correction.Rmd
│ │ ├── design_delta0.Rmd
│ │ ├── design_lower.Rmd
│ │ ├── design_upper.Rmd
│ │ ├── design_swss.Rmd
│ │ ├── design_power.md
│ │ ├── design_lambda0.md
│ │ ├── design_pi0.md
│ │ ├── design_lambda0.Rmd
│ │ ├── design_pi0.Rmd
│ │ ├── design_power.Rmd
│ │ ├── design_sigma_type.md
│ │ ├── design_sigma_type.Rmd
│ │ ├── design_ratio_type.Rmd
│ │ └── design_ratio_type.md
│ │ ├── design_ss_pois_header.md
│ │ ├── design_ss_bern_header.md
│ │ ├── design_ss_norm_header.md
│ │ ├── design_dtl_bern_header.md
│ │ ├── design_dtl_norm_header.md
│ │ ├── design_dtl_pois_header.md
│ │ ├── design_gs_bern_header.md
│ │ ├── design_gs_norm_header.md
│ │ ├── design_gs_pois_header.md
│ │ ├── design_dtl_norm_setting.Rmd
│ │ ├── design_dtl_norm_setting.md
│ │ ├── design_gs_norm_setting.Rmd
│ │ ├── design_gs_norm_setting.md
│ │ ├── design_ss_norm_setting.Rmd
│ │ ├── design_ss_norm_setting.md
│ │ ├── design_dtl_bern_setting.Rmd
│ │ ├── design_dtl_bern_setting.md
│ │ ├── design_gs_bern_setting.Rmd
│ │ ├── design_gs_bern_setting.md
│ │ ├── design_ss_bern_setting.Rmd
│ │ ├── design_ss_bern_setting.md
│ │ ├── design_dtl_pois_setting.md
│ │ ├── design_dtl_pois_setting.Rmd
│ │ ├── design_gs_pois_setting.Rmd
│ │ ├── design_gs_pois_setting.md
│ │ ├── design_ss_pois_setting.Rmd
│ │ ├── design_ss_pois_setting.md
│ │ ├── about.md
│ │ ├── references.md
│ │ └── home.md
└── CITATION
├── .gitignore
├── man
├── figures
│ ├── multiarm.png
│ ├── README-plot-1.png
│ ├── README-plot-2.png
│ ├── README-plot-3.png
│ ├── README-plot-4.png
│ ├── README-unnamed-chunk-4-1.png
│ ├── README-unnamed-chunk-4-2.png
│ ├── README-unnamed-chunk-4-3.png
│ ├── README-unnamed-chunk-4-4.png
│ ├── README-unnamed-chunk-5-1.png
│ ├── README-unnamed-chunk-5-2.png
│ ├── README-unnamed-chunk-5-3.png
│ └── README-unnamed-chunk-5-4.png
├── gui.Rd
├── opchar_gs_bern.Rd
├── opchar_gs_norm.Rd
├── opchar_gs_pois.Rd
├── opchar_dtl_bern.Rd
├── opchar_dtl_norm.Rd
├── opchar_dtl_pois.Rd
├── sim_gs_bern.Rd
├── sim_gs_norm.Rd
├── sim_gs_pois.Rd
├── sim_dtl_bern.Rd
├── sim_dtl_norm.Rd
├── sim_dtl_pois.Rd
├── sim_ss_bern.Rd
├── sim_ss_norm.Rd
├── sim_ss_pois.Rd
├── opchar_ss_bern.Rd
├── opchar_ss_norm.Rd
├── opchar_ss_pois.Rd
├── plot.multiarm_des_gs_pois.Rd
├── plot.multiarm_des_gs_norm.Rd
├── plot.multiarm_des_dtl_norm.Rd
├── plot.multiarm_des_dtl_pois.Rd
├── plot.multiarm_des_gs_bern.Rd
├── plot.multiarm_des_dtl_bern.Rd
├── plot.multiarm_des_ss_norm.Rd
├── plot.multiarm_des_ss_pois.Rd
├── plot.multiarm_des_ss_bern.Rd
└── multiarm.Rd
├── docs
├── reference
│ ├── Rplot001.png
│ └── figures
│ │ ├── multiarm.png
│ │ ├── README-plot-1.png
│ │ ├── README-plot-2.png
│ │ ├── README-plot-3.png
│ │ ├── README-plot-4.png
│ │ ├── README-unnamed-chunk-4-1.png
│ │ ├── README-unnamed-chunk-4-2.png
│ │ ├── README-unnamed-chunk-4-3.png
│ │ ├── README-unnamed-chunk-4-4.png
│ │ ├── README-unnamed-chunk-5-1.png
│ │ ├── README-unnamed-chunk-5-2.png
│ │ ├── README-unnamed-chunk-5-3.png
│ │ └── README-unnamed-chunk-5-4.png
├── pkgdown.yml
├── articles
│ └── single_stage_files
│ │ ├── figure-html
│ │ ├── unnamed-chunk-2-1.png
│ │ ├── unnamed-chunk-2-2.png
│ │ ├── unnamed-chunk-2-3.png
│ │ ├── unnamed-chunk-2-4.png
│ │ ├── unnamed-chunk-11-1.png
│ │ ├── unnamed-chunk-11-2.png
│ │ ├── unnamed-chunk-11-3.png
│ │ └── unnamed-chunk-11-4.png
│ │ ├── anchor-sections-1.0.1
│ │ ├── anchor-sections.css
│ │ └── anchor-sections.js
│ │ ├── header-attrs-2.8
│ │ └── header-attrs.js
│ │ └── accessible-code-block-0.0.1
│ │ └── empty-anchor.js
├── link.svg
├── bootstrap-toc.css
├── docsearch.js
└── pkgdown.js
├── .Rbuildignore
├── multiarm.Rproj
├── LICENSE.md
├── NAMESPACE
├── DESCRIPTION
└── NEWS.md
/_pkgdown.yml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/vignettes/.gitignore:
--------------------------------------------------------------------------------
1 | *.html
2 | *.R
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | YEAR: 2020
2 | COPYRIGHT HOLDER: Michael J Grayling
3 |
--------------------------------------------------------------------------------
/vignettes/single_stage_cache/html/__packages:
--------------------------------------------------------------------------------
1 | base
2 | multiarm
3 |
--------------------------------------------------------------------------------
/R/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/R/.DS_Store
--------------------------------------------------------------------------------
/inst/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/inst/.DS_Store
--------------------------------------------------------------------------------
/vignettes/single_stage_cache/html/unnamed-chunk-9_047b0ad404456e74a289f842988c15e7.rdb:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .Rproj.user
2 | .Rhistory
3 | .RData
4 | .Ruserdata
5 | .DS_Store
6 | .Rproj
7 |
--------------------------------------------------------------------------------
/inst/shiny/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/inst/shiny/.DS_Store
--------------------------------------------------------------------------------
/man/figures/multiarm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/multiarm.png
--------------------------------------------------------------------------------
/docs/reference/Rplot001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/Rplot001.png
--------------------------------------------------------------------------------
/inst/shiny/multiarm/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/inst/shiny/multiarm/.DS_Store
--------------------------------------------------------------------------------
/man/figures/README-plot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-plot-1.png
--------------------------------------------------------------------------------
/man/figures/README-plot-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-plot-2.png
--------------------------------------------------------------------------------
/man/figures/README-plot-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-plot-3.png
--------------------------------------------------------------------------------
/man/figures/README-plot-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-plot-4.png
--------------------------------------------------------------------------------
/docs/reference/figures/multiarm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/multiarm.png
--------------------------------------------------------------------------------
/.Rbuildignore:
--------------------------------------------------------------------------------
1 | ^LICENSE\.md$
2 | ^README\.Rmd$
3 | ^.*\.Rproj$
4 | ^\.Rproj\.user$
5 | ^_pkgdown\.yml$
6 | ^docs$
7 | ^pkgdown$
8 |
--------------------------------------------------------------------------------
/docs/reference/figures/README-plot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-plot-1.png
--------------------------------------------------------------------------------
/docs/reference/figures/README-plot-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-plot-2.png
--------------------------------------------------------------------------------
/docs/reference/figures/README-plot-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-plot-3.png
--------------------------------------------------------------------------------
/docs/reference/figures/README-plot-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-plot-4.png
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/inst/shiny/multiarm/helpfiles/.DS_Store
--------------------------------------------------------------------------------
/man/figures/README-unnamed-chunk-4-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-unnamed-chunk-4-1.png
--------------------------------------------------------------------------------
/man/figures/README-unnamed-chunk-4-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-unnamed-chunk-4-2.png
--------------------------------------------------------------------------------
/man/figures/README-unnamed-chunk-4-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-unnamed-chunk-4-3.png
--------------------------------------------------------------------------------
/man/figures/README-unnamed-chunk-4-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-unnamed-chunk-4-4.png
--------------------------------------------------------------------------------
/man/figures/README-unnamed-chunk-5-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-unnamed-chunk-5-1.png
--------------------------------------------------------------------------------
/man/figures/README-unnamed-chunk-5-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-unnamed-chunk-5-2.png
--------------------------------------------------------------------------------
/man/figures/README-unnamed-chunk-5-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-unnamed-chunk-5-3.png
--------------------------------------------------------------------------------
/man/figures/README-unnamed-chunk-5-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/man/figures/README-unnamed-chunk-5-4.png
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_ss_pois_header.md:
--------------------------------------------------------------------------------
1 | ## Design a __single-stage__ multi-arm clinical trial for a __Poisson__ distributed primary outcome
2 |
--------------------------------------------------------------------------------
/docs/reference/figures/README-unnamed-chunk-4-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-unnamed-chunk-4-1.png
--------------------------------------------------------------------------------
/docs/reference/figures/README-unnamed-chunk-4-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-unnamed-chunk-4-2.png
--------------------------------------------------------------------------------
/docs/reference/figures/README-unnamed-chunk-4-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-unnamed-chunk-4-3.png
--------------------------------------------------------------------------------
/docs/reference/figures/README-unnamed-chunk-4-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-unnamed-chunk-4-4.png
--------------------------------------------------------------------------------
/docs/reference/figures/README-unnamed-chunk-5-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-unnamed-chunk-5-1.png
--------------------------------------------------------------------------------
/docs/reference/figures/README-unnamed-chunk-5-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-unnamed-chunk-5-2.png
--------------------------------------------------------------------------------
/docs/reference/figures/README-unnamed-chunk-5-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-unnamed-chunk-5-3.png
--------------------------------------------------------------------------------
/docs/reference/figures/README-unnamed-chunk-5-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/reference/figures/README-unnamed-chunk-5-4.png
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_ss_bern_header.md:
--------------------------------------------------------------------------------
1 | ## Design a __single-stage__ multi-arm clinical trial for a __Bernoulli__ distributed primary outcome
2 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_ss_norm_header.md:
--------------------------------------------------------------------------------
1 | ## Design a __single-stage__ multi-arm clinical trial for a __normally__ distributed primary outcome
2 |
--------------------------------------------------------------------------------
/docs/pkgdown.yml:
--------------------------------------------------------------------------------
1 | pandoc: 2.11.4
2 | pkgdown: 1.6.1
3 | pkgdown_sha: ~
4 | articles:
5 | single_stage: single_stage.html
6 | last_built: 2021-06-11T08:44Z
7 |
8 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_dtl_bern_header.md:
--------------------------------------------------------------------------------
1 | ## Design a __multi-stage drop-the-losers__ multi-arm clinical trial for a __Bernoulli__ distributed primary outcome
2 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_dtl_norm_header.md:
--------------------------------------------------------------------------------
1 | ## Design a __multi-stage drop-the-losers__ multi-arm clinical trial for a __normally__ distributed primary outcome
2 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_dtl_pois_header.md:
--------------------------------------------------------------------------------
1 | ## Design a __multi-stage drop-the-losers__ multi-arm clinical trial for a __Poisson__ distributed primary outcome
2 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_gs_bern_header.md:
--------------------------------------------------------------------------------
1 | ## Design a __multi-stage group-sequential__ multi-arm clinical trial for a __Bernoulli__ distributed primary outcome
2 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_gs_norm_header.md:
--------------------------------------------------------------------------------
1 | ## Design a __multi-stage group-sequential__ multi-arm clinical trial for a __normally__ distributed primary outcome
2 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_gs_pois_header.md:
--------------------------------------------------------------------------------
1 | ## Design a __multi-stage group-sequential__ multi-arm clinical trial for a __Poisson__ distributed primary outcome
2 |
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/figure-html/unnamed-chunk-2-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/articles/single_stage_files/figure-html/unnamed-chunk-2-1.png
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/figure-html/unnamed-chunk-2-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/articles/single_stage_files/figure-html/unnamed-chunk-2-2.png
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/figure-html/unnamed-chunk-2-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/articles/single_stage_files/figure-html/unnamed-chunk-2-3.png
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/figure-html/unnamed-chunk-2-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/articles/single_stage_files/figure-html/unnamed-chunk-2-4.png
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/figure-html/unnamed-chunk-11-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/articles/single_stage_files/figure-html/unnamed-chunk-11-1.png
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/figure-html/unnamed-chunk-11-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/articles/single_stage_files/figure-html/unnamed-chunk-11-2.png
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/figure-html/unnamed-chunk-11-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/articles/single_stage_files/figure-html/unnamed-chunk-11-3.png
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/figure-html/unnamed-chunk-11-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/docs/articles/single_stage_files/figure-html/unnamed-chunk-11-4.png
--------------------------------------------------------------------------------
/vignettes/single_stage_cache/html/unnamed-chunk-9_047b0ad404456e74a289f842988c15e7.rdx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/vignettes/single_stage_cache/html/unnamed-chunk-9_047b0ad404456e74a289f842988c15e7.rdx
--------------------------------------------------------------------------------
/vignettes/single_stage_cache/html/unnamed-chunk-9_047b0ad404456e74a289f842988c15e7.RData:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mjg211/multiarm/HEAD/vignettes/single_stage_cache/html/unnamed-chunk-9_047b0ad404456e74a289f842988c15e7.RData
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_plots.md:
--------------------------------------------------------------------------------
1 | Produce available plots
2 | =======================
3 |
4 | **multiarm** can produce a selection of plots (e.g., of power curves).
5 | Specify your choice on whether to produce these plots for the identified
6 | design here.
7 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_beta.md:
--------------------------------------------------------------------------------
1 | Desired power
2 | =============
3 |
4 | **multiarm** requires a choice to be made on the desired amount of
5 | power, 1 − *β*, that the identified design should provide. Specify your
6 | chosen level of power here. It should be strictly between 0 and 1.
7 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_filename.md:
--------------------------------------------------------------------------------
1 | Downloadable report filename
2 | ============================
3 |
4 | **multiarm** can produce downloadable reports on identified designs.
5 | When a report is to be generated, a filename is required for the
6 | download. Specify your chosen filename here.
7 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_J.md:
--------------------------------------------------------------------------------
1 | (Maximum) number of stages
2 | ==========================
3 |
4 | For a multi-stage design, **multiarm** requires a value for the allowed
5 | (maximum, in the case of a group-sequential design) number of stages,
6 | *J*. Specify your chosen (maximum) number of stages here.
7 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_plots.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_plots"
3 | output: md_document
4 | ---
5 |
6 | # Produce available plots
7 |
8 | __multiarm__ can produce a selection of plots (e.g., of power curves).
9 | Specify your choice on whether to produce these plots for the identified design here.
10 |
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/anchor-sections-1.0.1/anchor-sections.css:
--------------------------------------------------------------------------------
1 | /* Styles for section anchors */
2 | a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
3 | a.anchor-section::before {content: '#';}
4 | .hasAnchor:hover a.anchor-section {visibility: visible;}
5 | ul > li > .anchor-section {display: none;}
6 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_alpha.md:
--------------------------------------------------------------------------------
1 | Significance level
2 | ==================
3 |
4 | **multiarm** requires a significance level, *α*, to be chosen. This is
5 | used in combination with the other design parameters to determine the
6 | rejection rules. Specify your chosen significance level here. It should
7 | be strictly between 0 and 1.
8 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_integer.md:
--------------------------------------------------------------------------------
1 | Require integer sample sizes
2 | ============================
3 |
4 | **multiarm** requires a choice to be made about whether the identified
5 | sample size required in each arm (in each stage, for multi-stage
6 | designs) should be forced to be an integer (a whole number). Specify
7 | your choice here.
8 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_J.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_J"
3 | output: md_document
4 | ---
5 |
6 | # (Maximum) number of stages
7 |
8 | For a multi-stage design, __multiarm__ requires a value for the allowed (maximum, in the case of a group-sequential design) number of stages, $J$.
9 | Specify your chosen (maximum) number of stages here.
10 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_filename.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_filename"
3 | output: md_document
4 | ---
5 |
6 | # Downloadable report filename
7 |
8 | __multiarm__ can produce downloadable reports on identified designs.
9 | When a report is to be generated, a filename is required for the download.
10 | Specify your chosen filename here.
11 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_beta.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_beta"
3 | output: md_document
4 | ---
5 |
6 | # Desired power
7 |
8 | __multiarm__ requires a choice to be made on the desired amount of power,
9 | $1-\beta$, that the identified design should provide.
10 | Specify your chosen level of power here.
11 | It should be strictly between 0 and 1.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_density.md:
--------------------------------------------------------------------------------
1 | Plot quality
2 | ============
3 |
4 | **multiarm** can produce a selection of plots (e.g., of power curves).
5 | When these plots are to be produced, a choice is required for the
6 | desired quality of the plots. Specify your choice for the plot quality
7 | here. Note that increased quality leads to increased execution time.
8 |
--------------------------------------------------------------------------------
/R/zzz.R:
--------------------------------------------------------------------------------
1 | .onAttach <- function(libname, pkgname) {
2 | packageStartupMessage(
3 | rep("-", 69), "\nmultiarm: Design of single- and multi-stage multi-arm",
4 | " clinical trials\n",
5 | rep("-", 69), "\n\nv.0.13: For an overview of the package's functionality ",
6 | "enter: ?multiarm\n\nFor news on the latest updates enter: ",
7 | "news(package = \"multiarm\")")
8 | }
9 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_integer.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_integer"
3 | output: md_document
4 | ---
5 |
6 | # Require integer sample sizes
7 |
8 | __multiarm__ requires a choice to be made about whether the identified sample size required in each arm (in each stage, for multi-stage designs) should be forced to be an integer (a whole number).
9 | Specify your choice here.
10 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_delta.md:
--------------------------------------------------------------------------------
1 | Plot treatment effect shift
2 | ===========================
3 |
4 | **multiarm** can produce a selection of plots (e.g., of power curves).
5 | One of these requires a value, *δ*, to be specified for a shift in the
6 | treatment effects between the experimental arms. Specify your choice for
7 | the treatment effect shift here. It should be strictly positive.
8 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_K.md:
--------------------------------------------------------------------------------
1 | Number of experimental treatment arms
2 | =====================================
3 |
4 | **multiarm** assumes that some number of experimental treatment arms,
5 | *K*, are compared to a common control arm. In the case of multi-stage
6 | designs, this will be the initial number of experimental treatment arms.
7 | Specify your chosen number of experimental treatment arms here.
8 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_alpha.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_alpha"
3 | output: md_document
4 | ---
5 |
6 | # Significance level
7 |
8 | __multiarm__ requires a significance level, $\alpha$, to be chosen.
9 | This is used in combination with the other design parameters to determine the rejection rules.
10 | Specify your chosen significance level here.
11 | It should be strictly between 0 and 1.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_density.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_density"
3 | output: md_document
4 | ---
5 |
6 | # Plot quality
7 |
8 | __multiarm__ can produce a selection of plots (e.g., of power curves).
9 | When these plots are to be produced, a choice is required for the desired quality of the plots.
10 | Specify your choice for the plot quality here.
11 | Note that increased quality leads to increased execution time.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_K.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_K"
3 | output: md_document
4 | ---
5 |
6 | # Number of experimental treatment arms
7 |
8 | __multiarm__ assumes that some number of experimental treatment arms, $K$, are compared to a common control arm.
9 | In the case of multi-stage designs, this will be the initial number of experimental treatment arms.
10 | Specify your chosen number of experimental treatment arms here.
11 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_delta.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_delta"
3 | output: md_document
4 | ---
5 |
6 | # Plot treatment effect shift
7 |
8 | __multiarm__ can produce a selection of plots (e.g., of power curves).
9 | One of these requires a value, $\delta$, to be specified for a shift in the treatment effects between the experimental arms.
10 | Specify your choice for the treatment effect shift here.
11 | It should be strictly positive.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_stopping.md:
--------------------------------------------------------------------------------
1 | Stopping rule
2 | =============
3 |
4 | For a multi-stage group-sequential design, **multiarm** requires a
5 | choice for the type of stopping rule to use. This can be either
6 | simultaneous (stop an entire trial as soon as an efficacy bound is
7 | crossed), or separate (continue the trial until a decision is made for
8 | all experimental treatments). Specify your chosen type of stopping rule
9 | here.
10 |
--------------------------------------------------------------------------------
/multiarm.Rproj:
--------------------------------------------------------------------------------
1 | Version: 1.0
2 |
3 | RestoreWorkspace: Default
4 | SaveWorkspace: Default
5 | AlwaysSaveHistory: Default
6 |
7 | EnableCodeIndexing: Yes
8 | UseSpacesForTab: Yes
9 | NumSpacesForTab: 2
10 | Encoding: UTF-8
11 |
12 | RnwWeave: Sweave
13 | LaTeX: pdfLaTeX
14 |
15 | AutoAppendNewline: Yes
16 | StripTrailingWhitespace: Yes
17 |
18 | BuildType: Package
19 | PackageUseDevtools: Yes
20 | PackageInstallArgs: --no-multiarch --with-keep.source
21 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_correction.md:
--------------------------------------------------------------------------------
1 | Multiple comparison correction
2 | ==============================
3 |
4 | For a single-stage design, **multiarm** requires a multiple comparison
5 | correction (MCC) to be chosen. That is, it requires a method to use in
6 | combination with the chosen significance level *α* to determine which
7 | null hypotheses to reject. Currently, **multiarm** supports a variety of
8 | single-step and step-wise MCCs. Specify your chosen MCC here.
9 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_delta1.md:
--------------------------------------------------------------------------------
1 | Interesting treatment effect
2 | ============================
3 |
4 | **multiarm** requires a value to be specified for an interesting
5 | treatment effect, *δ*1, used in the definition of the least
6 | favourable configurations and the global alternative hypothesis, which
7 | are in-turn used to evaluate the power provided by a particular design.
8 | Specify your chosen interesting treatment effect here. It should be
9 | strictly positive.
10 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_stopping.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_stopping"
3 | output: md_document
4 | ---
5 |
6 | # Stopping rule
7 |
8 | For a multi-stage group-sequential design, __multiarm__ requires a choice for the type of stopping rule to use.
9 | This can be either simultaneous (stop an entire trial as soon as an efficacy bound is crossed), or separate (continue the trial until a decision is made for all experimental treatments).
10 | Specify your chosen type of stopping rule here.
11 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_delta0.md:
--------------------------------------------------------------------------------
1 | Uninteresting treatment effect
2 | ==============================
3 |
4 | **multiarm** requires a value to be specified for an uninteresting
5 | treatment effect, *δ*0, used in the definition of the least
6 | favourable configurations, which in-turn are used to evaluate the power
7 | provided by a particular design. Specify your chosen uninteresting
8 | treatment effect here. It should be strictly less than the interesting
9 | treatment effect, *δ*1.
10 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_delta1.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_delta1"
3 | output: md_document
4 | ---
5 |
6 | # Interesting treatment effect
7 |
8 | __multiarm__ requires a value to be specified for an interesting treatment effect, $\delta_1$, used in the definition of the least favourable configurations and the global alternative hypothesis, which are in-turn used to evaluate the power provided by a particular design.
9 | Specify your chosen interesting treatment effect here. It should be strictly positive.
10 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_lower.md:
--------------------------------------------------------------------------------
1 | Lower stopping boundaries
2 | =========================
3 |
4 | For a multi-stage group-sequential design, **multiarm** requires a
5 | choice about the type of lower (futility) stopping boundary to use. This
6 | can be either fixed (a common interim value), O’Brien Fleming, Pocock,
7 | or triangular. Specify your chosen type of lower stopping boundary here.
8 | If fixed is chosen, an input box will appear for you to specify the
9 | common fixed interim stopping boundary.
10 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_upper.md:
--------------------------------------------------------------------------------
1 | Upper stopping boundaries
2 | =========================
3 |
4 | For a multi-stage group-sequential design, **multiarm** requires a
5 | choice about the type of upper (efficacy) stopping boundary to use. This
6 | can be either fixed (a common interim value), O’Brien Fleming, Pocock,
7 | or triangular. Specify your chosen type of upper stopping boundary here.
8 | If fixed is chosen, an input box will appear for you to specify the
9 | common fixed interim stopping boundary.
10 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_swss.md:
--------------------------------------------------------------------------------
1 | Stage-wise sample size
2 | ======================
3 |
4 | For a multi-stage design, **multiarm** requires a choice about the total
5 | stage-wise sample size. This can be either fixed (the sample size in
6 | each stage should be a common fixed value, regardless of the number of
7 | treatments present), or variable (the sample size in each stage should
8 | be allowed to vary, according to the number of treatments present).
9 | Specify your chosen type of stage-wise sample size here.
10 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_correction.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_correction"
3 | output: md_document
4 | ---
5 |
6 | # Multiple comparison correction
7 |
8 | For a single-stage design, __multiarm__ requires a multiple comparison correction (MCC) to be chosen.
9 | That is, it requires a method to use in combination with the chosen significance level $\alpha$ to determine which null hypotheses to reject.
10 | Currently, __multiarm__ supports a variety of single-step and step-wise MCCs.
11 | Specify your chosen MCC here.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_delta0.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_delta0"
3 | output: md_document
4 | ---
5 |
6 | # Uninteresting treatment effect
7 |
8 | __multiarm__ requires a value to be specified for an uninteresting treatment effect, $\delta_0$, used in the definition of the least favourable configurations, which in-turn are used to evaluate the power provided by a particular design.
9 | Specify your chosen uninteresting treatment effect here.
10 | It should be strictly less than the interesting treatment effect, $\delta_1$.
11 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_lower.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_swss"
3 | output: md_document
4 | ---
5 |
6 | # Lower stopping boundaries
7 |
8 | For a multi-stage group-sequential design, __multiarm__ requires a choice about the type of lower (futility) stopping boundary to use.
9 | This can be either fixed (a common interim value), O'Brien Fleming, Pocock, or triangular.
10 | Specify your chosen type of lower stopping boundary here.
11 | If fixed is chosen, an input box will appear for you to specify the common fixed interim stopping boundary.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_upper.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_swss"
3 | output: md_document
4 | ---
5 |
6 | # Upper stopping boundaries
7 |
8 | For a multi-stage group-sequential design, __multiarm__ requires a choice about the type of upper (efficacy) stopping boundary to use.
9 | This can be either fixed (a common interim value), O'Brien Fleming, Pocock, or triangular.
10 | Specify your chosen type of upper stopping boundary here.
11 | If fixed is chosen, an input box will appear for you to specify the common fixed interim stopping boundary.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_swss.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_swss"
3 | output: md_document
4 | ---
5 |
6 | # Stage-wise sample size
7 |
8 | For a multi-stage design, __multiarm__ requires a choice about the total stage-wise sample size.
9 | This can be either fixed (the sample size in each stage should be a common fixed value, regardless of the number of treatments present), or variable (the sample size in each stage should be allowed to vary, according to the number of treatments present).
10 | Specify your chosen type of stage-wise sample size here.
11 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_power.md:
--------------------------------------------------------------------------------
1 | Type of power
2 | =============
3 |
4 | **multiarm** requires a choice to be made on the type of power that
5 | should be controlled by the identified design. For a single-stage or
6 | group-sequential design, this can be either conjunctive (power to reject
7 | all null hypotheses), disjunctive (power to reject at least one null
8 | hypothesis), or marginal (the minimum power to reject each of the null
9 | hypotheses). For a drop-the-losers design, it can be either disjunctive
10 | or marginal. Specify your chosen type of power here.
11 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_lambda0.md:
--------------------------------------------------------------------------------
1 | Control arm event rate
2 | ======================
3 |
4 | When assuming the outcomes are Poisson distributed, **multiarm**
5 | requires a value to be specified for the event rate in the control arm,
6 | *λ*0, used in the definition of the global null hypothesis,
7 | global alternative hypothesis, and the least favourable configurations,
8 | which are in-turn used to evaluate the operating characteristics
9 | provided by a particular design. Specify your chosen control arm
10 | response rate here. It should be strictly positive.
11 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_pi0.md:
--------------------------------------------------------------------------------
1 | Control arm response rate
2 | =========================
3 |
4 | When assuming the outcomes are Bernoulli distributed, **multiarm**
5 | requires a value to be specified for the response rate in the control
6 | arm, *π*0, used in the definition of the global null
7 | hypothesis, global alternative hypothesis, and the least favourable
8 | configurations, which are in-turn used to evaluate the operating
9 | characteristics provided by a particular design. Specify your chosen
10 | control arm response rate here. It should be strictly between 0 and 1.
11 |
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/header-attrs-2.8/header-attrs.js:
--------------------------------------------------------------------------------
1 | // Pandoc 2.9 adds attributes on both header and div. We remove the former (to
2 | // be compatible with the behavior of Pandoc < 2.8).
3 | document.addEventListener('DOMContentLoaded', function(e) {
4 | var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
5 | var i, h, a;
6 | for (i = 0; i < hs.length; i++) {
7 | h = hs[i];
8 | if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
9 | a = h.attributes;
10 | while (a.length > 0) h.removeAttribute(a[0].name);
11 | }
12 | });
13 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_lambda0.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_lambda0"
3 | output: md_document
4 | ---
5 |
6 | # Control arm event rate
7 |
8 | When assuming the outcomes are Poisson distributed, __multiarm__ requires a value to be specified for the event rate in the control arm, $\lambda_0$, used in the definition of the global null hypothesis, global alternative hypothesis, and the least favourable configurations, which are in-turn used to evaluate the operating characteristics provided by a particular design.
9 | Specify your chosen control arm response rate here.
10 | It should be strictly positive.
11 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_pi0.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_pi0"
3 | output: md_document
4 | ---
5 |
6 | # Control arm response rate
7 |
8 | When assuming the outcomes are Bernoulli distributed, __multiarm__ requires a value to be specified for the response rate in the control arm, $\pi_0$, used in the definition of the global null hypothesis, global alternative hypothesis, and the least favourable configurations, which are in-turn used to evaluate the operating characteristics provided by a particular design.
9 | Specify your chosen control arm response rate here.
10 | It should be strictly between 0 and 1.
11 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_power.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_power"
3 | output: md_document
4 | ---
5 |
6 | # Type of power
7 |
8 | __multiarm__ requires a choice to be made on the type of power that should be controlled by the identified design.
9 | For a single-stage or group-sequential design, this can be either conjunctive (power to reject all null hypotheses), disjunctive (power to reject at least one null hypothesis), or marginal (the minimum power to reject each of the null
10 | hypotheses).
11 | For a drop-the-losers design, it can be either disjunctive or marginal.
12 | Specify your chosen type of power here.
13 |
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/accessible-code-block-0.0.1/empty-anchor.js:
--------------------------------------------------------------------------------
1 | // Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) -->
2 | // v0.0.1
3 | // Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
4 |
5 | document.addEventListener('DOMContentLoaded', function() {
6 | const codeList = document.getElementsByClassName("sourceCode");
7 | for (var i = 0; i < codeList.length; i++) {
8 | var linkList = codeList[i].getElementsByTagName('a');
9 | for (var j = 0; j < linkList.length; j++) {
10 | if (linkList[j].innerHTML === "") {
11 | linkList[j].setAttribute('aria-hidden', 'true');
12 | }
13 | }
14 | }
15 | });
16 |
--------------------------------------------------------------------------------
/inst/CITATION:
--------------------------------------------------------------------------------
1 | citHeader("To cite multiarm in publications please use")
2 |
3 | citEntry(entry = "Article",
4 | author = c(person(given = "Michael J.", family = "Grayling"),
5 | person(given = "James M.S.", family = "Wason")),
6 | doi = "10.1186/s12885-020-6525-0",
7 | journal = "BMC Cancer",
8 | key = "grayling2020",
9 | pages = "80",
10 | title = "A web application for the design of multi-arm clinical trials",
11 | url = "https://doi.org/10.1186/s12885-020-6525-0",
12 | volume = "20",
13 | year = "2020",
14 | textVersion = paste("Grayling MJ, Wason JMS (2020) A web application for the design of multi-arm clinical trials. BMC Cancer 20:80. DOI: 10.1186/s12885-020-6525-0."))
15 |
--------------------------------------------------------------------------------
/docs/link.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_dtl_norm_setting.Rmd:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm.
2 | Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim N(\mu_k,\sigma_k^2)$.
3 | Then, the hypotheses to be tested will be:
4 | $$ H_k : \tau_k = \mu_k - \mu_0 \le 0,\ k=1,\dots,K.$$
5 | The *global null hypothesis*, $H_G$, will be:
6 | $$ \tau_1 = \cdots = \tau_K = 0. $$
7 | The *global alternative hypothesis*, $H_A$, will be:
8 | $$ \tau_1 = \cdots = \tau_K = \delta_1. $$
9 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
10 | $$ \tau_k = \delta_1,\ \tau_1 = \cdots = \tau_{k-1} = \tau_{k+1} = \cdots = \tau_K = \delta_0. $$
11 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment effects respectively.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_dtl_norm_setting.md:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm.
2 | Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim N(\mu_k,\sigma_k^2)$.
3 | Then, the hypotheses to be tested will be:
4 | $$ H_k : \tau_k = \mu_k - \mu_0 \le 0,\ k=1,\dots,K.$$
5 | The *global null hypothesis*, $H_G$, will be:
6 | $$ \tau_1 = \cdots = \tau_K = 0. $$
7 | The *global alternative hypothesis*, $H_A$, will be:
8 | $$ \tau_1 = \cdots = \tau_K = \delta_1. $$
9 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
10 | $$ \tau_k = \delta_1,\ \tau_1 = \cdots = \tau_{k-1} = \tau_{k+1} = \cdots = \tau_K = \delta_0. $$
11 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment effects respectively.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_gs_norm_setting.Rmd:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm.
2 | Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim N(\mu_k,\sigma_k^2)$.
3 | Then, the hypotheses to be tested will be:
4 | $$ H_k : \tau_k = \mu_k - \mu_0 \le 0,\ k=1,\dots,K.$$
5 | The *global null hypothesis*, $H_G$, will be:
6 | $$ \tau_1 = \cdots = \tau_K = 0. $$
7 | The *global alternative hypothesis*, $H_A$, will be:
8 | $$ \tau_1 = \cdots = \tau_K = \delta_1. $$
9 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
10 | $$ \tau_k = \delta_1,\ \tau_1 = \cdots = \tau_{k-1} = \tau_{k+1} = \cdots = \tau_K = \delta_0. $$
11 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment effects respectively.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_gs_norm_setting.md:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm.
2 | Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim N(\mu_k,\sigma_k^2)$.
3 | Then, the hypotheses to be tested will be:
4 | $$ H_k : \tau_k = \mu_k - \mu_0 \le 0,\ k=1,\dots,K.$$
5 | The *global null hypothesis*, $H_G$, will be:
6 | $$ \tau_1 = \cdots = \tau_K = 0. $$
7 | The *global alternative hypothesis*, $H_A$, will be:
8 | $$ \tau_1 = \cdots = \tau_K = \delta_1. $$
9 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
10 | $$ \tau_k = \delta_1,\ \tau_1 = \cdots = \tau_{k-1} = \tau_{k+1} = \cdots = \tau_K = \delta_0. $$
11 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment effects respectively.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_ss_norm_setting.Rmd:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm.
2 | Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim N(\mu_k,\sigma_k^2)$.
3 | Then, the hypotheses to be tested will be:
4 | $$ H_k : \tau_k = \mu_k - \mu_0 \le 0,\ k=1,\dots,K.$$
5 | The *global null hypothesis*, $H_G$, will be:
6 | $$ \tau_1 = \cdots = \tau_K = 0. $$
7 | The *global alternative hypothesis*, $H_A$, will be:
8 | $$ \tau_1 = \cdots = \tau_K = \delta_1. $$
9 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
10 | $$ \tau_k = \delta_1,\ \tau_1 = \cdots = \tau_{k-1} = \tau_{k+1} = \cdots = \tau_K = \delta_0. $$
11 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment effects respectively.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_ss_norm_setting.md:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm.
2 | Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim N(\mu_k,\sigma_k^2)$.
3 | Then, the hypotheses to be tested will be:
4 | $$ H_k : \tau_k = \mu_k - \mu_0 \le 0,\ k=1,\dots,K.$$
5 | The *global null hypothesis*, $H_G$, will be:
6 | $$ \tau_1 = \cdots = \tau_K = 0. $$
7 | The *global alternative hypothesis*, $H_A$, will be:
8 | $$ \tau_1 = \cdots = \tau_K = \delta_1. $$
9 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
10 | $$ \tau_k = \delta_1,\ \tau_1 = \cdots = \tau_{k-1} = \tau_{k+1} = \cdots = \tau_K = \delta_0. $$
11 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment effects respectively.
12 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_dtl_bern_setting.Rmd:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared
2 | control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm
3 | $k=0,\dots,K$, will be assumed to be distributed as
4 | $X_{ik} \sim Bern(\pi_k)$. Then, the hypotheses to be tested will be:
5 | $$ H_k : \tau_k = \pi_k - \pi_0 \le 0,\ k=1,\dots,K.$$
6 | The *global null hypothesis*, $H_G$, will be:
7 | $$ \pi_0 = \cdots = \pi_K. $$
8 | The *global alternative hypothesis*, $H_A$, will be:
9 | $$ \pi_1 = \cdots = \pi_K = \pi_0 + \delta_1. $$
10 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
11 | $$ \pi_k = \pi_0 + \delta_1,\ \pi_1 = \cdots = \pi_{k-1} = \pi_{k+1} = \cdots = \pi_K = \pi_0 + \delta_0. $$
12 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
13 | effects respectively.
14 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_dtl_bern_setting.md:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared
2 | control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm
3 | $k=0,\dots,K$, will be assumed to be distributed as
4 | $X_{ik} \sim Bern(\pi_k)$. Then, the hypotheses to be tested will be:
5 | $$ H_k : \tau_k = \pi_k - \pi_0 \le 0,\ k=1,\dots,K.$$
6 | The *global null hypothesis*, $H_G$, will be:
7 | $$ \pi_0 = \cdots = \pi_K. $$
8 | The *global alternative hypothesis*, $H_A$, will be:
9 | $$ \pi_1 = \cdots = \pi_K = \pi_0 + \delta_1. $$
10 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
11 | $$ \pi_k = \pi_0 + \delta_1,\ \pi_1 = \cdots = \pi_{k-1} = \pi_{k+1} = \cdots = \pi_K = \pi_0 + \delta_0. $$
12 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
13 | effects respectively.
14 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_gs_bern_setting.Rmd:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared
2 | control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm
3 | $k=0,\dots,K$, will be assumed to be distributed as
4 | $X_{ik} \sim Bern(\pi_k)$. Then, the hypotheses to be tested will be:
5 | $$ H_k : \tau_k = \pi_k - \pi_0 \le 0,\ k=1,\dots,K.$$
6 | The *global null hypothesis*, $H_G$, will be:
7 | $$ \pi_0 = \cdots = \pi_K. $$
8 | The *global alternative hypothesis*, $H_A$, will be:
9 | $$ \pi_1 = \cdots = \pi_K = \pi_0 + \delta_1. $$
10 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
11 | $$ \pi_k = \pi_0 + \delta_1,\ \pi_1 = \cdots = \pi_{k-1} = \pi_{k+1} = \cdots = \pi_K = \pi_0 + \delta_0. $$
12 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
13 | effects respectively.
14 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_gs_bern_setting.md:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared
2 | control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm
3 | $k=0,\dots,K$, will be assumed to be distributed as
4 | $X_{ik} \sim Bern(\pi_k)$. Then, the hypotheses to be tested will be:
5 | $$ H_k : \tau_k = \pi_k - \pi_0 \le 0,\ k=1,\dots,K.$$
6 | The *global null hypothesis*, $H_G$, will be:
7 | $$ \pi_0 = \cdots = \pi_K. $$
8 | The *global alternative hypothesis*, $H_A$, will be:
9 | $$ \pi_1 = \cdots = \pi_K = \pi_0 + \delta_1. $$
10 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
11 | $$ \pi_k = \pi_0 + \delta_1,\ \pi_1 = \cdots = \pi_{k-1} = \pi_{k+1} = \cdots = \pi_K = \pi_0 + \delta_0. $$
12 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
13 | effects respectively.
14 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_ss_bern_setting.Rmd:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared
2 | control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm
3 | $k=0,\dots,K$, will be assumed to be distributed as
4 | $X_{ik} \sim Bern(\pi_k)$. Then, the hypotheses to be tested will be:
5 | $$ H_k : \tau_k = \pi_k - \pi_0 \le 0,\ k=1,\dots,K.$$
6 | The *global null hypothesis*, $H_G$, will be:
7 | $$ \pi_0 = \cdots = \pi_K. $$
8 | The *global alternative hypothesis*, $H_A$, will be:
9 | $$ \pi_1 = \cdots = \pi_K = \pi_0 + \delta_1. $$
10 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
11 | $$ \pi_k = \pi_0 + \delta_1,\ \pi_1 = \cdots = \pi_{k-1} = \pi_{k+1} = \cdots = \pi_K = \pi_0 + \delta_0. $$
12 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
13 | effects respectively.
14 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_ss_bern_setting.md:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared
2 | control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm
3 | $k=0,\dots,K$, will be assumed to be distributed as
4 | $X_{ik} \sim Bern(\pi_k)$. Then, the hypotheses to be tested will be:
5 | $$ H_k : \tau_k = \pi_k - \pi_0 \le 0,\ k=1,\dots,K.$$
6 | The *global null hypothesis*, $H_G$, will be:
7 | $$ \pi_0 = \cdots = \pi_K. $$
8 | The *global alternative hypothesis*, $H_A$, will be:
9 | $$ \pi_1 = \cdots = \pi_K = \pi_0 + \delta_1. $$
10 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
11 | $$ \pi_k = \pi_0 + \delta_1,\ \pi_1 = \cdots = \pi_{k-1} = \pi_{k+1} = \cdots = \pi_K = \pi_0 + \delta_0. $$
12 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
13 | effects respectively.
14 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_sigma_type.md:
--------------------------------------------------------------------------------
1 | Standard deviations
2 | ===================
3 |
4 | When assuming the outcomes are normally distributed, **multiarm**
5 | requires values to be specified for the standard deviations,
6 | *σ*0, …, *σ**K*, of the responses accrued in the
7 | control arm and each of the experimental arms. For a single-stage
8 | design, the options are that they are equal across all arms, equal
9 | across the experimental arms, or unequal across all arms. Specify your
10 | chosen assumption about the standard deviations here. For a multi-stage
11 | design, the options are that they are equal across all arms or equal
12 | across the experimental arms. Specify your chosen assumption about the
13 | standard deviations here. Depending on your choice, suitable input boxes
14 | will then appear for you to specify the actual values of the standard
15 | deviations.
16 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_dtl_pois_setting.md:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim Po(\lambda_k)$. Then, the hypotheses to be tested will be:
2 | $$ H_k : \tau_k = \lambda_k - \lambda_0 \le 0,\ k=1,\dots,K.$$
3 | The *global null hypothesis*, $H_G$, will be:
4 | $$ \lambda_0 = \cdots = \lambda_K. $$
5 | The *global alternative hypothesis*, $H_A$, will be:
6 | $$ \lambda_1 = \cdots = \lambda_K = \lambda_0 + \delta_1. $$
7 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
8 | $$ \lambda_k = \lambda_0 + \delta_1,\ \lambda_1 = \cdots = \lambda_{k-1} = \lambda_{k+1} = \cdots = \lambda_K = \lambda_0 + \delta_0. $$
9 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
10 | effects respectively.
11 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_dtl_pois_setting.Rmd:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim Po(\lambda_k)$. Then, the hypotheses to be tested will be:
2 | $$ H_k : \tau_k = \lambda_k - \lambda_0 \le 0,\ k=1,\dots,K.$$
3 | The *global null hypothesis*, $H_G$, will be:
4 | $$ \lambda_0 = \cdots = \lambda_K. $$
5 | The *global alternative hypothesis*, $H_A$, will be:
6 | $$ \lambda_1 = \cdots = \lambda_K = \lambda_0 + \delta_1. $$
7 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
8 | $$ \lambda_k = \lambda_0 + \delta_1,\ \lambda_1 = \cdots = \lambda_{k-1} = \lambda_{k+1} = \cdots = \lambda_K = \lambda_0 + \delta_0. $$
9 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
10 | effects respectively.
11 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_sigma_type.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_sigma_type"
3 | output: md_document
4 | ---
5 |
6 | # Standard deviations
7 |
8 | When assuming the outcomes are normally distributed, __multiarm__ requires values to be specified for the standard deviations, $\sigma_0,\dots,\sigma_K$, of the responses accrued in the control arm and each of the experimental arms.
9 | For a single-stage design, the options are that they are equal across all arms, equal across the experimental arms, or unequal across all arms.
10 | Specify your chosen assumption about the standard deviations here.
11 | For a multi-stage design, the options are that they are equal across all arms or equal across the experimental arms.
12 | Specify your chosen assumption about the standard deviations here.
13 | Depending on your choice, suitable input boxes will then appear for you to specify the actual values of the standard deviations.
14 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_gs_pois_setting.Rmd:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim Po(\lambda_k)$. Then, the hypotheses to be tested will be:
2 | $$ H_k : \tau_k = \lambda_k - \lambda_0 \le 0,\ k=1,\dots,K.$$
3 | The *global null hypothesis*, $H_G$, will be:
4 | $$ \lambda_0 = \cdots = \lambda_K. $$
5 | The *global alternative hypothesis*, $H_A$, will be:
6 | $$ \lambda_1 = \cdots = \lambda_K = \lambda_0 + \delta_1. $$
7 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
8 | $$ \lambda_k = \lambda_0 + \delta_1,\ \lambda_1 = \cdots = \lambda_{k-1} = \lambda_{k+1} = \cdots = \lambda_K = \lambda_0 + \delta_0. $$
9 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
10 | effects respectively.
11 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
12 | effects respectively.
13 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_gs_pois_setting.md:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim Po(\lambda_k)$. Then, the hypotheses to be tested will be:
2 | $$ H_k : \tau_k = \lambda_k - \lambda_0 \le 0,\ k=1,\dots,K.$$
3 | The *global null hypothesis*, $H_G$, will be:
4 | $$ \lambda_0 = \cdots = \lambda_K. $$
5 | The *global alternative hypothesis*, $H_A$, will be:
6 | $$ \lambda_1 = \cdots = \lambda_K = \lambda_0 + \delta_1. $$
7 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
8 | $$ \lambda_k = \lambda_0 + \delta_1,\ \lambda_1 = \cdots = \lambda_{k-1} = \lambda_{k+1} = \cdots = \lambda_K = \lambda_0 + \delta_0. $$
9 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
10 | effects respectively.
11 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
12 | effects respectively.
13 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_ss_pois_setting.Rmd:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim Po(\lambda_k)$. Then, the hypotheses to be tested will be:
2 | $$ H_k : \tau_k = \lambda_k - \lambda_0 \le 0,\ k=1,\dots,K.$$
3 | The *global null hypothesis*, $H_G$, will be:
4 | $$ \lambda_0 = \cdots = \lambda_K. $$
5 | The *global alternative hypothesis*, $H_A$, will be:
6 | $$ \lambda_1 = \cdots = \lambda_K = \lambda_0 + \delta_1. $$
7 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
8 | $$ \lambda_k = \lambda_0 + \delta_1,\ \lambda_1 = \cdots = \lambda_{k-1} = \lambda_{k+1} = \cdots = \lambda_K = \lambda_0 + \delta_0. $$
9 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
10 | effects respectively.
11 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
12 | effects respectively.
13 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/design_ss_pois_setting.md:
--------------------------------------------------------------------------------
1 | The trial will be designed to compare $K$ experimental treatments to a shared control arm. Response $X_{ik}$, from patient $i=1,\dots,n_k$ in arm $k=0,\dots,K$, will be assumed to be distributed as $X_{ik} \sim Po(\lambda_k)$. Then, the hypotheses to be tested will be:
2 | $$ H_k : \tau_k = \lambda_k - \lambda_0 \le 0,\ k=1,\dots,K.$$
3 | The *global null hypothesis*, $H_G$, will be:
4 | $$ \lambda_0 = \cdots = \lambda_K. $$
5 | The *global alternative hypothesis*, $H_A$, will be:
6 | $$ \lambda_1 = \cdots = \lambda_K = \lambda_0 + \delta_1. $$
7 | The *least favourable configuration* for experimental arm $k$, $LFC_k$, will be:
8 | $$ \lambda_k = \lambda_0 + \delta_1,\ \lambda_1 = \cdots = \lambda_{k-1} = \lambda_{k+1} = \cdots = \lambda_K = \lambda_0 + \delta_0. $$
9 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
10 | effects respectively.
11 | Here, $\delta_1$ and $\delta_0$ are *interesting* and *uninteresting* treatment
12 | effects respectively.
13 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_ratio_type.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "design_ratio_type"
3 | output: md_document
4 | ---
5 |
6 | # Allocation ratios
7 |
8 | __multiarm__ requires values to be specified for the target (stage-wise amongst the remaining treatment arms, in the case of multi-stage designs) allocation ratios, $r_1,\dots,r_K$, of the number of patients to assign to experimental arms $1,\dots,K$ relative to the control arm.
9 | For a single-stage design, the options are that they are equal across all arms, equal across the experimental arms, unequal across all arms, based on the $\sqrt{K}$-rule ($r_1=\dots,r_K=1/\sqrt{K}$), or chosen for $A$-, $D$-, or
10 | $E$-optimality.
11 | For a multi-stage design, the options are that they are equal across all arms, equal across the experimental arms, or based on the $\sqrt{K}$-rule ($r_1=\dots,r_K=1/\sqrt{K}$).
12 | Specify your chosen type of allocation ratios here.
13 | Depending on your choice, suitable input boxes may then appear for you to specify the actual values of the allocation ratios.
14 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/helpfiles/design_ratio_type.md:
--------------------------------------------------------------------------------
1 | Allocation ratios
2 | =================
3 |
4 | **multiarm** requires values to be specified for the target (stage-wise
5 | amongst the remaining treatment arms, in the case of multi-stage
6 | designs) allocation ratios, *r*1, …, *r**K*, of
7 | the number of patients to assign to experimental arms 1, …, *K* relative
8 | to the control arm. For a single-stage design, the options are that they
9 | are equal across all arms, equal across the experimental arms, unequal
10 | across all arms, based on the $\\sqrt{K}$-rule
11 | ($r\_1=\\dots,r\_K=1/\\sqrt{K}$), or chosen for *A*-, *D*-, or
12 | *E*-optimality. For a multi-stage design, the options are that they are
13 | equal across all arms, equal across the experimental arms, or based on
14 | the $\\sqrt{K}$-rule ($r\_1=\\dots,r\_K=1/\\sqrt{K}$). Specify your
15 | chosen type of allocation ratios here. Depending on your choice,
16 | suitable input boxes may then appear for you to specify the actual
17 | values of the allocation ratios.
18 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | # MIT License
2 |
3 | Copyright (c) 2020 Michael J Grayling
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/docs/articles/single_stage_files/anchor-sections-1.0.1/anchor-sections.js:
--------------------------------------------------------------------------------
1 | // Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
2 | document.addEventListener('DOMContentLoaded', function() {
3 | // Do nothing if AnchorJS is used
4 | if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
5 | return;
6 | }
7 |
8 | const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
9 |
10 | // Do nothing if sections are already anchored
11 | if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
12 | return null;
13 | }
14 |
15 | // Use section id when pandoc runs with --section-divs
16 | const section_id = function(x) {
17 | return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
18 | ? x.id : '');
19 | };
20 |
21 | // Add anchors
22 | h.forEach(function(x) {
23 | const id = x.id || section_id(x.parentElement);
24 | if (id === '' || x.matches(':empty')) {
25 | return null;
26 | }
27 | let anchor = document.createElement('a');
28 | anchor.href = '#' + id;
29 | anchor.classList = ['anchor-section'];
30 | x.classList.add('hasAnchor');
31 | x.appendChild(anchor);
32 | });
33 | });
34 |
--------------------------------------------------------------------------------
/man/gui.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/gui.R
3 | \name{gui}
4 | \alias{gui}
5 | \title{Graphical user interface to multi-arm trial design determination}
6 | \usage{
7 | gui()
8 | }
9 | \description{
10 | \code{gui()} run an R Shiny web browser based graphical user interface for
11 | running \code{\link{des_dtl_bern}}, \code{\link{des_dtl_norm}},
12 | \code{\link{des_gs_bern}}, \code{\link{des_gs_norm}},
13 | \code{\link{des_ss_bern}}, \code{\link{des_ss_norm}}, and their associated S3
14 | plotting functions.
15 | }
16 | \examples{
17 | # Launch the graphical user interface
18 | \dontrun{gui()}
19 | }
20 | \seealso{
21 | \code{\link{des_dtl_bern}}, \code{\link{des_dtl_norm}},
22 | \code{\link{des_dtl_pois}}, \code{\link{des_gs_bern}},
23 | \code{\link{des_gs_norm}}, \code{\link{des_gs_pois}},
24 | \code{\link{des_ss_bern}}, \code{\link{des_ss_norm}},
25 | \code{\link{des_ss_pois}},
26 | \code{\link{plot.multiarm_des_dtl_bern}},
27 | \code{\link{plot.multiarm_des_dtl_norm}},
28 | \code{\link{plot.multiarm_des_dtl_pois}},
29 | \code{\link{plot.multiarm_des_gs_bern}},
30 | \code{\link{plot.multiarm_des_gs_norm}},
31 | \code{\link{plot.multiarm_des_gs_pois}},
32 | \code{\link{plot.multiarm_des_ss_bern}},
33 | \code{\link{plot.multiarm_des_ss_norm}},
34 | \code{\link{plot.multiarm_des_ss_pois}}.
35 | }
36 |
--------------------------------------------------------------------------------
/NAMESPACE:
--------------------------------------------------------------------------------
1 | # Generated by roxygen2: do not edit by hand
2 |
3 | S3method(plot,multiarm_des_dtl_bern)
4 | S3method(plot,multiarm_des_dtl_norm)
5 | S3method(plot,multiarm_des_dtl_pois)
6 | S3method(plot,multiarm_des_gs_bern)
7 | S3method(plot,multiarm_des_gs_norm)
8 | S3method(plot,multiarm_des_gs_pois)
9 | S3method(plot,multiarm_des_ss_bern)
10 | S3method(plot,multiarm_des_ss_norm)
11 | S3method(plot,multiarm_des_ss_pois)
12 | export(build_dtl_bern)
13 | export(build_dtl_norm)
14 | export(build_dtl_pois)
15 | export(build_gs_bern)
16 | export(build_gs_norm)
17 | export(build_gs_pois)
18 | export(build_ss_bern)
19 | export(build_ss_norm)
20 | export(build_ss_pois)
21 | export(des_dtl_bern)
22 | export(des_dtl_norm)
23 | export(des_dtl_pois)
24 | export(des_gs_bern)
25 | export(des_gs_norm)
26 | export(des_gs_pois)
27 | export(des_ss_bern)
28 | export(des_ss_norm)
29 | export(des_ss_pois)
30 | export(gui)
31 | export(opchar_dtl_bern)
32 | export(opchar_dtl_norm)
33 | export(opchar_dtl_pois)
34 | export(opchar_gs_bern)
35 | export(opchar_gs_norm)
36 | export(opchar_gs_pois)
37 | export(opchar_ss_bern)
38 | export(opchar_ss_norm)
39 | export(opchar_ss_pois)
40 | export(sim_dtl_bern)
41 | export(sim_dtl_norm)
42 | export(sim_dtl_pois)
43 | export(sim_gs_bern)
44 | export(sim_gs_norm)
45 | export(sim_gs_pois)
46 | export(sim_ss_bern)
47 | export(sim_ss_norm)
48 | export(sim_ss_pois)
49 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/about.md:
--------------------------------------------------------------------------------
1 | This graphical user interface (GUI) is built upon [and in to, via the function multiarm::gui()] v.0.13 of the [R](https://www.r-project.org/) package [multiarm](https://mjg211.github.io/multiarm/), written by [Michael Grayling (Newcastle University)](https://www.newcastle-biostatistics.com/people/michael_grayling/).
2 |
3 | The first-line response to a possible bug should be to submit it as a *New issue* [here](https://github.com/mjg211/multiarm/issues).
4 | If the issue is more complex, or a patch is not provided in reasonable time, please email michael.grayling@newcastle.ac.uk.
5 | Similarly, please feel free to contact with suggestions for new features, or for further support with using the package or GUI.
6 |
7 | If you use [multiarm](https://mjg211.github.io/multiarm/), please cite it with:
8 |
9 | Grayling MJ, Wason JMS (2020) A web application for the design of multi-arm clinical trials. *BMC Cancer* __20:__80. DOI: [10.1186/s12885-020-6525-0](http://doi.org/10.1186/s12885-020-6525-0).
10 |
--------------------------------------------------------------------------------
/R/utils.R:
--------------------------------------------------------------------------------
1 | # Calculates the mode of a vector. When there are multiple modes, the mean of
2 | # these values is returned
3 | calculate_mode <- function(x) {
4 | unique_x <- unique(na.omit(x))
5 | mean(unique_x[which(tabulate(match(x, unique_x)) ==
6 | max(tabulate(match(x, unique_x))))])
7 | }
8 |
9 | # Computes all unique permutations of the elements of a vector x
10 | permutations <- function(x) {
11 | n <- length(x)
12 | out <- vector("list", gamma(n + 1))
13 | p <- ip <- seqn <- 1:n
14 | d <- rep(-1, n)
15 | d[1] <- 0
16 | m <- n + 1
17 | p <- c(m, p, m)
18 | i <- 1
19 | use <- -c(1, n + 2)
20 | while (m != 1) {
21 | out[[i]] <- x[p[use]]
22 | i <- i + 1
23 | m <- n
24 | chk <- (p[ip + d + 1] > seqn)
25 | m <- max(seqn[!chk])
26 | if (m < n) {
27 | d[(m + 1):n] <- -d[(m + 1):n]
28 | }
29 | index1 <- ip[m] + 1
30 | index2 <- p[index1] <- p[index1 + d[m]]
31 | p[index1 + d[m]] <- m
32 | tmp <- ip[index2]
33 | ip[index2] <- ip[m]
34 | ip[m] <- tmp
35 | }
36 | out <- matrix(unlist(out), length(out), n, byrow = TRUE)
37 | out[!duplicated(out), , drop = FALSE]
38 | }
39 |
--------------------------------------------------------------------------------
/R/gui.R:
--------------------------------------------------------------------------------
1 | #' Graphical user interface to multi-arm trial design determination
2 | #'
3 | #' \code{gui()} run an R Shiny web browser based graphical user interface for
4 | #' running \code{\link{des_dtl_bern}}, \code{\link{des_dtl_norm}},
5 | #' \code{\link{des_gs_bern}}, \code{\link{des_gs_norm}},
6 | #' \code{\link{des_ss_bern}}, \code{\link{des_ss_norm}}, and their associated S3
7 | #' plotting functions.
8 | #'
9 | #' @examples
10 | #' # Launch the graphical user interface
11 | #' \dontrun{gui()}
12 | #' @seealso \code{\link{des_dtl_bern}}, \code{\link{des_dtl_norm}},
13 | #' \code{\link{des_dtl_pois}}, \code{\link{des_gs_bern}},
14 | #' \code{\link{des_gs_norm}}, \code{\link{des_gs_pois}},
15 | #' \code{\link{des_ss_bern}}, \code{\link{des_ss_norm}},
16 | #' \code{\link{des_ss_pois}},
17 | #' \code{\link{plot.multiarm_des_dtl_bern}},
18 | #' \code{\link{plot.multiarm_des_dtl_norm}},
19 | #' \code{\link{plot.multiarm_des_dtl_pois}},
20 | #' \code{\link{plot.multiarm_des_gs_bern}},
21 | #' \code{\link{plot.multiarm_des_gs_norm}},
22 | #' \code{\link{plot.multiarm_des_gs_pois}},
23 | #' \code{\link{plot.multiarm_des_ss_bern}},
24 | #' \code{\link{plot.multiarm_des_ss_norm}},
25 | #' \code{\link{plot.multiarm_des_ss_pois}}.
26 | #' @export
27 | gui <- function() {
28 | app_dir <- system.file("shiny", "multiarm", package = "multiarm")
29 | if (app_dir == "") {
30 | stop("Could not find required directory for Shiny graphical user ",
31 | "interface. Try re-installing multiarm.")
32 | }
33 | shiny::runApp(app_dir, launch.browser = TRUE, display.mode = "normal")
34 | }
35 |
--------------------------------------------------------------------------------
/DESCRIPTION:
--------------------------------------------------------------------------------
1 | Package: multiarm
2 | Type: Package
3 | Title: Design of single- and multi-stage multi-arm clinical trials
4 | Version: 0.13.5
5 | Authors@R: c(person(given = "Michael J", family = "Grayling",
6 | email = "michael.grayling@newcastle.ac.uk",
7 | role = c("aut", "cre")))
8 | Description: multiarm provides functions to assist with the design of
9 | single- and multi-stage multi-arm clinical trials. In both cases the
10 | available functions allow for sample size determination, trial simulation,
11 | analytical operating characteristic calculation, and the production of
12 | several informative plots. An R Shiny graphical user interface is also
13 | provided to aid design determination. Further details on single-stage design
14 | can be found in Grayling and Wason (2020) .
15 | License: MIT + file LICENSE
16 | Encoding: UTF-8
17 | LazyData: true
18 | RoxygenNote: 7.1.2
19 | VignetteBuilder: rmarkdown
20 | Imports:
21 | dplyr,
22 | DT,
23 | GA,
24 | ggplot2,
25 | ggthemes,
26 | iterpc,
27 | knitr,
28 | magrittr,
29 | mvtnorm,
30 | rclipboard,
31 | Rfast,
32 | rmarkdown,
33 | Rsolnp,
34 | rvest,
35 | shiny,
36 | shinyalert,
37 | shinycssloaders,
38 | shinydashboard,
39 | shinydashboardPlus,
40 | shinyFeedback,
41 | shinyhelper,
42 | shinyjs,
43 | shinyWidgets,
44 | stats,
45 | tibble,
46 | tidyr,
47 | xml2
48 | Date: 2020-12-15
49 | URL: http://github.com/mjg211/multiarm
50 | BugReports: http://github.com/mjg211/multiarm/issues
51 |
--------------------------------------------------------------------------------
/docs/bootstrap-toc.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/)
3 | * Copyright 2015 Aidan Feldman
4 | * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */
5 |
6 | /* modified from https://github.com/twbs/bootstrap/blob/94b4076dd2efba9af71f0b18d4ee4b163aa9e0dd/docs/assets/css/src/docs.css#L548-L601 */
7 |
8 | /* All levels of nav */
9 | nav[data-toggle='toc'] .nav > li > a {
10 | display: block;
11 | padding: 4px 20px;
12 | font-size: 13px;
13 | font-weight: 500;
14 | color: #767676;
15 | }
16 | nav[data-toggle='toc'] .nav > li > a:hover,
17 | nav[data-toggle='toc'] .nav > li > a:focus {
18 | padding-left: 19px;
19 | color: #563d7c;
20 | text-decoration: none;
21 | background-color: transparent;
22 | border-left: 1px solid #563d7c;
23 | }
24 | nav[data-toggle='toc'] .nav > .active > a,
25 | nav[data-toggle='toc'] .nav > .active:hover > a,
26 | nav[data-toggle='toc'] .nav > .active:focus > a {
27 | padding-left: 18px;
28 | font-weight: bold;
29 | color: #563d7c;
30 | background-color: transparent;
31 | border-left: 2px solid #563d7c;
32 | }
33 |
34 | /* Nav: second level (shown on .active) */
35 | nav[data-toggle='toc'] .nav .nav {
36 | display: none; /* Hide by default, but at >768px, show it */
37 | padding-bottom: 10px;
38 | }
39 | nav[data-toggle='toc'] .nav .nav > li > a {
40 | padding-top: 1px;
41 | padding-bottom: 1px;
42 | padding-left: 30px;
43 | font-size: 12px;
44 | font-weight: normal;
45 | }
46 | nav[data-toggle='toc'] .nav .nav > li > a:hover,
47 | nav[data-toggle='toc'] .nav .nav > li > a:focus {
48 | padding-left: 29px;
49 | }
50 | nav[data-toggle='toc'] .nav .nav > .active > a,
51 | nav[data-toggle='toc'] .nav .nav > .active:hover > a,
52 | nav[data-toggle='toc'] .nav .nav > .active:focus > a {
53 | padding-left: 28px;
54 | font-weight: 500;
55 | }
56 |
57 | /* from https://github.com/twbs/bootstrap/blob/e38f066d8c203c3e032da0ff23cd2d6098ee2dd6/docs/assets/css/src/docs.css#L631-L634 */
58 | nav[data-toggle='toc'] .nav > .active > ul {
59 | display: block;
60 | }
61 |
--------------------------------------------------------------------------------
/man/opchar_gs_bern.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/opchar_gs_bern.R
3 | \name{opchar_gs_bern}
4 | \alias{opchar_gs_bern}
5 | \title{Analytically determine the operating characteristics of a multi-stage
6 | group-sequential multi-arm clinical trial for a Bernoulli distributed primary
7 | outcome}
8 | \usage{
9 | opchar_gs_bern(des = des_gs_bern(), pi, summary = FALSE)
10 | }
11 | \arguments{
12 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_gs_bern"}, as
13 | returned by \code{\link{build_gs_bern}} or \code{\link{des_gs_bern}} (i.e., a
14 | multi-stage group-sequential multi-arm clinical trial design for a Bernoulli
15 | distributed outcome). Defaults to \code{des_gs_bern()}.}
16 |
17 | \item{pi}{A \code{\link{matrix}} whose rows indicate values of
18 | \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}} at which to
19 | evaluate the operating characteristics. Defaults internally to the global
20 | null, global alternative, and each of the least favourable configurations,
21 | for the specified design \code{des}.}
22 |
23 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
24 | of the function's progress should be printed to the console. Defaults to
25 | \code{FALSE}.}
26 | }
27 | \value{
28 | A \code{\link{list}} containing the following elements
29 | \itemize{
30 | \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
31 | operating characteristics.
32 | \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
33 | probability mass functions of the random required sample size.
34 | \item Each of the input variables.
35 | }
36 | }
37 | \description{
38 | \code{opchar_gs_bern()} determines the operating characteristics of a
39 | specified multi-stage group-sequential multi-arm clinical trial design
40 | assuming the primary outcome variable is Bernoulli distributed, for given
41 | values of the true treatment effects, using multivariate normal integration.
42 | }
43 | \examples{
44 | # The operating characteristics for the default parameters
45 | opchar <- opchar_gs_bern()
46 | }
47 | \seealso{
48 | \code{\link{build_gs_bern}}, \code{\link{des_gs_bern}},
49 | \code{\link{plot.multiarm_des_gs_bern}}, \code{\link{sim_gs_bern}}.
50 | }
51 |
--------------------------------------------------------------------------------
/NEWS.md:
--------------------------------------------------------------------------------
1 | # multiarm 0.13
2 |
3 | * Support added for computing median and modal sample sizes.
4 | * 'Code for reproduction' box added to the GUI.
5 |
6 | # multiarm 0.12
7 |
8 | * Support added for clinical trials with Poisson distributed outcomes
9 | (`build_dtl_pois()`, `build_gs_pois()`, `build_ss_pois()`, `des_dtl_pois()`,
10 | `des_gs_pois()`, `des_ss_pois()`, `opchar_dtl_pois()`, `opchar_gs_pois()`,
11 | `opchar_ss_pois()`, `plot.multiarm_des_dtl_pois()`,
12 | `plot.multiarm_des_gs_pois()`, `plot.multiarm_des_ss_pois()`, `sim_dtl_pois()`,
13 | `sim_gs_pois()`, `sim_ss_pois()`).
14 |
15 | # multiarm 0.11
16 |
17 | * Analysis functions removed; focus purely on design for now.
18 | * Support added for group-sequential multi-arm multi-stage clinical trials with
19 | normally or Bernoulli distributed outcomes (`build_gs_bern()`,
20 | `build_gs_norm()`, `des_gs_bern()`, `des_gs_norm()`, `opchar_gs_bern()`,
21 | `opchar_gs_norm()`, `plot.multiarm_des_gs_bern()`,
22 | `plot.multiarm_des_gs_norm()`, `sim_gs_bern()`, `sim_gs_norm()`).
23 | * Corresponding support also added for multi-stage drop-the-losers designs
24 | (`build_dtl_bern()`, `build_dtl_norm()`, `des_dtl_bern()`, `des_dtl_norm()`,
25 | `opchar_dtl_bern()`, `opchar_dtl_norm()`, `plot.multiarm_des_dtl_bern()`, `plot.multiarm_des_dtl_norm()`, `sim_dtl_bern()`, `sim_dtl_norm()`).
26 | * Suffix of `_norm` added to all relevant functions given below to indicate
27 | outcome variable.
28 | * `_ma_` replaced in function names with `_ss_`.
29 | * `des_int_ma()` removed for simplicity; does not add much over `des_ss_norm()`.
30 |
31 | # multiarm 0.10
32 |
33 | * Corresponding support added for trials with Bernoulli outcomes
34 | (`an_ma_bern()`, `build_ma_bern()`, `des_ma_bern()`, `opchar_ma()`,
35 | `plot.multiarm_des_ma_bern()`, `sim_ma_bern()`).
36 | * `gui_ma()` renamed `gui()` to reflect use for multiple types of outcome.
37 |
38 | # multiarm 0.9
39 |
40 | * Package launched with support for the design (`build_ma()`, `des_ma()`,
41 | `des_int_ma()`), assessment (`opchar_ma()`), analysis (`an_ma()`), simulation
42 | (`sim_ma()`), and visualisation (`plot.multiarm_des_ma()`) of single-stage
43 | multi-arm clinical trials with normally distributed outcomes. An R Shiny
44 | graphical user interface is also provided (`gui_ma()`).
45 |
--------------------------------------------------------------------------------
/man/opchar_gs_norm.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/opchar_gs_norm.R
3 | \name{opchar_gs_norm}
4 | \alias{opchar_gs_norm}
5 | \title{Analytically determine the operating characteristics of a multi-stage
6 | group-sequential multi-arm clinical trial for a normally distributed primary
7 | outcome}
8 | \usage{
9 | opchar_gs_norm(des = des_gs_norm(), tau, summary = FALSE)
10 | }
11 | \arguments{
12 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_gs_norm"}, as
13 | returned by \code{\link{build_gs_norm}} or \code{\link{des_gs_norm}} (i.e., a
14 | multi-stage group-sequential multi-arm clinical trial design for a normally
15 | distributed outcome). Defaults to \code{des_gs_norm()}.}
16 |
17 | \item{tau}{A \code{\link{matrix}} whose rows indicate values of
18 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}} at which to
19 | evaluate the operating characteristics. Defaults internally to the global
20 | null, global alternative, and each of the least favourable configurations,
21 | for the specified design \code{des}.}
22 |
23 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
24 | of the function's progress should be printed to the console. Defaults to
25 | \code{FALSE}.}
26 | }
27 | \value{
28 | A \code{\link{list}} containing the following elements
29 | \itemize{
30 | \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
31 | operating characteristics.
32 | \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
33 | probability mass functions of the random required sample size.
34 | \item Each of the input variables.
35 | }
36 | }
37 | \description{
38 | \code{opchar_gs_norm()} determines the operating characteristics of a
39 | specified multi-stage group-sequential multi-arm clinical trial design
40 | assuming the primary outcome variable is normally distributed, for given
41 | values of the true treatment effects, using multivariate normal integration.
42 | }
43 | \examples{
44 | # The operating characteristics for the default parameters
45 | opchar <- opchar_gs_norm()
46 | }
47 | \seealso{
48 | \code{\link{build_gs_norm}}, \code{\link{des_gs_norm}},
49 | \code{\link{plot.multiarm_des_gs_norm}}, \code{\link{sim_gs_norm}}.
50 | }
51 |
--------------------------------------------------------------------------------
/man/opchar_gs_pois.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/opchar_gs_pois.R
3 | \name{opchar_gs_pois}
4 | \alias{opchar_gs_pois}
5 | \title{Analytically determine the operating characteristics of a multi-stage
6 | group-sequential multi-arm clinical trial for a Poisson distributed primary
7 | outcome}
8 | \usage{
9 | opchar_gs_pois(des = des_gs_pois(), lambda, summary = FALSE)
10 | }
11 | \arguments{
12 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_gs_pois"}, as
13 | returned by \code{\link{build_gs_pois}} or \code{\link{des_gs_pois}} (i.e., a
14 | multi-stage group-sequential multi-arm clinical trial design for a Poisson
15 | distributed outcome). Defaults to \code{des_gs_pois()}.}
16 |
17 | \item{lambda}{A \code{\link{matrix}} whose rows indicate values of
18 | \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}} at which to
19 | evaluate the operating characteristics. Defaults internally to the global
20 | null, global alternative, and each of the least favourable configurations,
21 | for the specified design \code{des}.}
22 |
23 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
24 | of the function's progress should be printed to the console. Defaults to
25 | \code{FALSE}.}
26 | }
27 | \value{
28 | A \code{\link{list}} containing the following elements
29 | \itemize{
30 | \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
31 | operating characteristics.
32 | \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
33 | probability mass functions of the random required sample size.
34 | \item Each of the input variables.
35 | }
36 | }
37 | \description{
38 | \code{opchar_gs_pois()} determines the operating characteristics of a
39 | specified multi-stage group-sequential multi-arm clinical trial design
40 | assuming the primary outcome variable is Poisson distributed, for given
41 | values of the true treatment effects, using multivariate normal integration.
42 | }
43 | \examples{
44 | # The operating characteristics for the default parameters
45 | opchar <- opchar_gs_pois()
46 | }
47 | \seealso{
48 | \code{\link{build_gs_pois}}, \code{\link{des_gs_pois}},
49 | \code{\link{plot.multiarm_des_gs_pois}}, \code{\link{sim_gs_pois}}.
50 | }
51 |
--------------------------------------------------------------------------------
/man/opchar_dtl_bern.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/opchar_dtl_bern.R
3 | \name{opchar_dtl_bern}
4 | \alias{opchar_dtl_bern}
5 | \title{Analytically determine the operating characteristics of a multi-stage
6 | drop-the-losers multi-arm clinical trial for a Bernoulli distributed primary
7 | outcome}
8 | \usage{
9 | opchar_dtl_bern(des = des_dtl_bern(), pi, summary = FALSE)
10 | }
11 | \arguments{
12 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_dtl_bern"}, as
13 | returned by \code{\link{build_dtl_bern}} or \code{\link{des_dtl_bern}} (i.e., a
14 | multi-stage drop-the-losers multi-arm clinical trial design for a Bernoulli
15 | distributed outcome). Defaults to \code{des_dtl_bern()}.}
16 |
17 | \item{pi}{A \code{\link{matrix}} whose rows indicate values of
18 | \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}} at which to
19 | evaluate the operating characteristics. Defaults internally to the global
20 | null, global alternative, and each of the least favourable configurations,
21 | for the specified design \code{des}.}
22 |
23 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
24 | of the function's progress should be printed to the console. Defaults to
25 | \code{FALSE}.}
26 | }
27 | \value{
28 | A \code{\link{list}} containing the following elements
29 | \itemize{
30 | \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
31 | operating characteristics.
32 | \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
33 | probability mass functions of the random required sample size.
34 | \item Each of the input variables.
35 | }
36 | }
37 | \description{
38 | \code{opchar_dtl_bern()} determines the operating characteristics of a
39 | specified multi-stage drop-the-losers multi-arm clinical trial design
40 | assuming the primary outcome variable is Bernoulli distributed, for given
41 | values of the true treatment effects, using multivariate normal integration.
42 | }
43 | \examples{
44 | # The operating characteristics for the default parameters
45 | opchar <- opchar_dtl_bern()
46 | }
47 | \seealso{
48 | \code{\link{build_dtl_bern}}, \code{\link{des_dtl_bern}},
49 | \code{\link{plot.multiarm_des_dtl_bern}}, \code{\link{sim_dtl_bern}}.
50 | }
51 |
--------------------------------------------------------------------------------
/man/opchar_dtl_norm.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/opchar_dtl_norm.R
3 | \name{opchar_dtl_norm}
4 | \alias{opchar_dtl_norm}
5 | \title{Analytically determine the operating characteristics of a multi-stage
6 | drop-the-losers multi-arm clinical trial for a normally distributed primary
7 | outcome}
8 | \usage{
9 | opchar_dtl_norm(des = des_dtl_norm(), tau, summary = FALSE)
10 | }
11 | \arguments{
12 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_dtl_norm"}, as
13 | returned by \code{\link{build_dtl_norm}} or \code{\link{des_dtl_norm}} (i.e., a
14 | multi-stage drop-the-losers multi-arm clinical trial design for a normally
15 | distributed outcome). Defaults to \code{des_dtl_norm()}.}
16 |
17 | \item{tau}{A \code{\link{matrix}} whose rows indicate values of
18 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}} at which to
19 | evaluate the operating characteristics. Defaults internally to the global
20 | null, global alternative, and each of the least favourable configurations,
21 | for the specified design \code{des}.}
22 |
23 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
24 | of the function's progress should be printed to the console. Defaults to
25 | \code{FALSE}.}
26 | }
27 | \value{
28 | A \code{\link{list}} containing the following elements
29 | \itemize{
30 | \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
31 | operating characteristics.
32 | \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
33 | probability mass functions of the random required sample size.
34 | \item Each of the input variables.
35 | }
36 | }
37 | \description{
38 | \code{opchar_dtl_norm()} determines the operating characteristics of a
39 | specified multi-stage drop-the-losers multi-arm clinical trial design
40 | assuming the primary outcome variable is normally distributed, for given
41 | values of the true treatment effects, using multivariate normal integration.
42 | }
43 | \examples{
44 | # The operating characteristics for the default parameters
45 | opchar <- opchar_dtl_norm()
46 | }
47 | \seealso{
48 | \code{\link{build_dtl_norm}}, \code{\link{des_dtl_norm}},
49 | \code{\link{plot.multiarm_des_dtl_norm}}, \code{\link{sim_dtl_norm}}.
50 | }
51 |
--------------------------------------------------------------------------------
/man/opchar_dtl_pois.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/opchar_dtl_pois.R
3 | \name{opchar_dtl_pois}
4 | \alias{opchar_dtl_pois}
5 | \title{Analytically determine the operating characteristics of a multi-stage
6 | drop-the-losers multi-arm clinical trial for a Poisson distributed primary
7 | outcome}
8 | \usage{
9 | opchar_dtl_pois(des = des_dtl_pois(), lambda, summary = FALSE)
10 | }
11 | \arguments{
12 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_dtl_pois"}, as
13 | returned by \code{\link{build_dtl_pois}} or \code{\link{des_dtl_pois}} (i.e., a
14 | multi-stage drop-the-losers multi-arm clinical trial design for a Poisson
15 | distributed outcome). Defaults to \code{des_dtl_pois()}.}
16 |
17 | \item{lambda}{A \code{\link{matrix}} whose rows indicate values of
18 | \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}} at which to
19 | evaluate the operating characteristics. Defaults internally to the global
20 | null, global alternative, and each of the least favourable configurations,
21 | for the specified design \code{des}.}
22 |
23 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
24 | of the function's progress should be printed to the console. Defaults to
25 | \code{FALSE}.}
26 | }
27 | \value{
28 | A \code{\link{list}} containing the following elements
29 | \itemize{
30 | \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
31 | operating characteristics.
32 | \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
33 | probability mass functions of the random required sample size.
34 | \item Each of the input variables.
35 | }
36 | }
37 | \description{
38 | \code{opchar_dtl_pois()} determines the operating characteristics of a
39 | specified multi-stage drop-the-losers multi-arm clinical trial design
40 | assuming the primary outcome variable is Poisson distributed, for given
41 | values of the true treatment effects, using multivariate normal integration.
42 | }
43 | \examples{
44 | # The operating characteristics for the default parameters
45 | opchar <- opchar_dtl_pois()
46 | }
47 | \seealso{
48 | \code{\link{build_dtl_pois}}, \code{\link{des_dtl_pois}},
49 | \code{\link{plot.multiarm_des_dtl_pois}}, \code{\link{sim_dtl_pois}}.
50 | }
51 |
--------------------------------------------------------------------------------
/docs/docsearch.js:
--------------------------------------------------------------------------------
1 | $(function() {
2 |
3 | // register a handler to move the focus to the search bar
4 | // upon pressing shift + "/" (i.e. "?")
5 | $(document).on('keydown', function(e) {
6 | if (e.shiftKey && e.keyCode == 191) {
7 | e.preventDefault();
8 | $("#search-input").focus();
9 | }
10 | });
11 |
12 | $(document).ready(function() {
13 | // do keyword highlighting
14 | /* modified from https://jsfiddle.net/julmot/bL6bb5oo/ */
15 | var mark = function() {
16 |
17 | var referrer = document.URL ;
18 | var paramKey = "q" ;
19 |
20 | if (referrer.indexOf("?") !== -1) {
21 | var qs = referrer.substr(referrer.indexOf('?') + 1);
22 | var qs_noanchor = qs.split('#')[0];
23 | var qsa = qs_noanchor.split('&');
24 | var keyword = "";
25 |
26 | for (var i = 0; i < qsa.length; i++) {
27 | var currentParam = qsa[i].split('=');
28 |
29 | if (currentParam.length !== 2) {
30 | continue;
31 | }
32 |
33 | if (currentParam[0] == paramKey) {
34 | keyword = decodeURIComponent(currentParam[1].replace(/\+/g, "%20"));
35 | }
36 | }
37 |
38 | if (keyword !== "") {
39 | $(".contents").unmark({
40 | done: function() {
41 | $(".contents").mark(keyword);
42 | }
43 | });
44 | }
45 | }
46 | };
47 |
48 | mark();
49 | });
50 | });
51 |
52 | /* Search term highlighting ------------------------------*/
53 |
54 | function matchedWords(hit) {
55 | var words = [];
56 |
57 | var hierarchy = hit._highlightResult.hierarchy;
58 | // loop to fetch from lvl0, lvl1, etc.
59 | for (var idx in hierarchy) {
60 | words = words.concat(hierarchy[idx].matchedWords);
61 | }
62 |
63 | var content = hit._highlightResult.content;
64 | if (content) {
65 | words = words.concat(content.matchedWords);
66 | }
67 |
68 | // return unique words
69 | var words_uniq = [...new Set(words)];
70 | return words_uniq;
71 | }
72 |
73 | function updateHitURL(hit) {
74 |
75 | var words = matchedWords(hit);
76 | var url = "";
77 |
78 | if (hit.anchor) {
79 | url = hit.url_without_anchor + '?q=' + escape(words.join(" ")) + '#' + hit.anchor;
80 | } else {
81 | url = hit.url + '?q=' + escape(words.join(" "));
82 | }
83 |
84 | return url;
85 | }
86 |
--------------------------------------------------------------------------------
/man/sim_gs_bern.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/sim_gs_bern.R
3 | \name{sim_gs_bern}
4 | \alias{sim_gs_bern}
5 | \title{Empirically determine the operating characteristics of a multi-stage
6 | group-sequential multi-arm clinical trial for a Bernoulli distributed primary
7 | outcome}
8 | \usage{
9 | sim_gs_bern(
10 | des = des_gs_bern(integer = TRUE),
11 | pi,
12 | replicates = 1e+05,
13 | summary = FALSE
14 | )
15 | }
16 | \arguments{
17 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_gs_bern"}, as
18 | returned by \code{\link{build_gs_bern}} or \code{\link{des_gs_bern}} (i.e., a
19 | multi-stage group-sequential multi-arm clinical trial design for a Bernoulli
20 | distributed outcome). \strong{Note:} The sample sizes in all arms must be
21 | whole numbers. Defaults to \code{des_gs_bern(integer = TRUE)}.}
22 |
23 | \item{pi}{A \code{\link{matrix}} whose rows indicate values of
24 | \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}} at which to
25 | evaluate the operating characteristics. Defaults internally to the global
26 | null, global alternative, and each of the least favourable configurations if
27 | unspecified.}
28 |
29 | \item{replicates}{A \code{\link{numeric}} indicating the number of replicate
30 | simulations to use for each value of
31 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}}. Defaults to
32 | \code{1e5}.}
33 |
34 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
35 | of the function's progress should be printed to the console. Defaults to
36 | \code{FALSE}.}
37 | }
38 | \value{
39 | A \code{\link{list}} containing the following elements
40 | \itemize{
41 | \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
42 | operating characteristics.
43 | \item Each of the input variables.
44 | }
45 | }
46 | \description{
47 | \code{sim_gs_bern()} determines the operating characteristics of a specified
48 | multi-stage group-sequential multi-arm clinical trial design assuming the
49 | primary outcome is Bernoulli distributed, for given values of the true
50 | treatment effects, using simulation.
51 | }
52 | \examples{
53 | \dontrun{
54 | # The estimated operating characteristics for the default parameters
55 | sim <- sim_gs_bern()
56 | }
57 | }
58 | \seealso{
59 | \code{\link{build_gs_bern}}, \code{\link{des_gs_bern}},
60 | \code{\link{opchar_gs_bern}}, \code{\link{plot.multiarm_des_gs_bern}}.
61 | }
62 |
--------------------------------------------------------------------------------
/man/sim_gs_norm.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/sim_gs_norm.R
3 | \name{sim_gs_norm}
4 | \alias{sim_gs_norm}
5 | \title{Empirically determine the operating characteristics of a multi-stage
6 | group-sequential multi-arm clinical trial for a normally distributed primary
7 | outcome}
8 | \usage{
9 | sim_gs_norm(
10 | des = des_gs_norm(integer = TRUE),
11 | tau,
12 | replicates = 1e+05,
13 | summary = FALSE
14 | )
15 | }
16 | \arguments{
17 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_gs_norm"}, as
18 | returned by \code{\link{build_gs_norm}} or \code{\link{des_gs_norm}} (i.e., a
19 | multi-stage group-sequential multi-arm clinical trial design for a normally
20 | distributed outcome). \strong{Note:} The sample sizes in all arms must be
21 | whole numbers. Defaults to \code{des_gs_norm(integer = TRUE)}.}
22 |
23 | \item{tau}{A \code{\link{matrix}} whose rows indicate values of
24 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}} at which to
25 | evaluate the operating characteristics. Defaults internally to the global
26 | null, global alternative, and each of the least favourable configurations if
27 | unspecified.}
28 |
29 | \item{replicates}{A \code{\link{numeric}} indicating the number of replicate
30 | simulations to use for each value of
31 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}}. Defaults to
32 | \code{1e5}.}
33 |
34 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
35 | of the function's progress should be printed to the console. Defaults to
36 | \code{FALSE}.}
37 | }
38 | \value{
39 | A \code{\link{list}} containing the following elements
40 | \itemize{
41 | \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
42 | operating characteristics.
43 | \item Each of the input variables.
44 | }
45 | }
46 | \description{
47 | \code{sim_gs_norm()} determines the operating characteristics of a specified
48 | multi-stage group-sequential multi-arm clinical trial design assuming the
49 | primary outcome is normally distributed, for given values of the true
50 | treatment effects, using simulation.
51 | }
52 | \examples{
53 | \dontrun{
54 | # The estimated operating characteristics for the default parameters
55 | sim <- sim_gs_norm()
56 | }
57 | }
58 | \seealso{
59 | \code{\link{build_gs_norm}}, \code{\link{des_gs_norm}},
60 | \code{\link{opchar_gs_norm}}, \code{\link{plot.multiarm_des_gs_norm}}.
61 | }
62 |
--------------------------------------------------------------------------------
/man/sim_gs_pois.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/sim_gs_pois.R
3 | \name{sim_gs_pois}
4 | \alias{sim_gs_pois}
5 | \title{Empirically determine the operating characteristics of a multi-stage
6 | group-sequential multi-arm clinical trial for a Poisson distributed primary
7 | outcome}
8 | \usage{
9 | sim_gs_pois(
10 | des = des_gs_pois(integer = TRUE),
11 | lambda,
12 | replicates = 1e+05,
13 | summary = FALSE
14 | )
15 | }
16 | \arguments{
17 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_gs_pois"}, as
18 | returned by \code{\link{build_gs_pois}} or \code{\link{des_gs_pois}} (i.e., a
19 | multi-stage group-sequential multi-arm clinical trial design for a Poisson
20 | distributed outcome). \strong{Note:} The sample sizes in all arms must be
21 | whole numbers. Defaults to \code{des_gs_pois(integer = TRUE)}.}
22 |
23 | \item{lambda}{A \code{\link{matrix}} whose rows indicate values of
24 | \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}} at which to
25 | evaluate the operating characteristics. Defaults internally to the global
26 | null, global alternative, and each of the least favourable configurations if
27 | unspecified.}
28 |
29 | \item{replicates}{A \code{\link{numeric}} indicating the number of replicate
30 | simulations to use for each value of
31 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}}. Defaults to
32 | \code{1e5}.}
33 |
34 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
35 | of the function's progress should be printed to the console. Defaults to
36 | \code{FALSE}.}
37 | }
38 | \value{
39 | A \code{\link{list}} containing the following elements
40 | \itemize{
41 | \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
42 | operating characteristics.
43 | \item Each of the input variables.
44 | }
45 | }
46 | \description{
47 | \code{sim_gs_pois()} determines the operating characteristics of a specified
48 | multi-stage group-sequential multi-arm clinical trial design assuming the
49 | primary outcome is Poisson distributed, for given values of the true
50 | treatment effects, using simulation.
51 | }
52 | \examples{
53 | \dontrun{
54 | # The estimated operating characteristics for the default parameters
55 | sim <- sim_gs_pois()
56 | }
57 | }
58 | \seealso{
59 | \code{\link{build_gs_pois}}, \code{\link{des_gs_pois}},
60 | \code{\link{opchar_gs_pois}}, \code{\link{plot.multiarm_des_gs_pois}}.
61 | }
62 |
--------------------------------------------------------------------------------
/man/sim_dtl_bern.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/sim_dtl_bern.R
3 | \name{sim_dtl_bern}
4 | \alias{sim_dtl_bern}
5 | \title{Empirically determine the operating characteristics of a multi-stage
6 | drop-the-losers multi-arm clinical trial for a Bernoulli distributed primary
7 | outcome}
8 | \usage{
9 | sim_dtl_bern(
10 | des = des_dtl_bern(integer = TRUE),
11 | pi,
12 | replicates = 1e+05,
13 | summary = FALSE
14 | )
15 | }
16 | \arguments{
17 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_dtl_bern"}, as
18 | returned by \code{\link{build_dtl_bern}} or \code{\link{des_dtl_bern}} (i.e.,
19 | a multi-stage drop-the-losers multi-arm clinical trial design for a Bernoulli
20 | distributed outcome). \strong{Note:} The sample sizes in all arms must be
21 | whole numbers. Defaults to \code{des_dtl_bern(integer = TRUE)}.}
22 |
23 | \item{pi}{A \code{\link{matrix}} whose rows indicate values of
24 | \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}} at which to
25 | evaluate the operating characteristics. Defaults internally to the global
26 | null, global alternative, and each of the least favourable configurations if
27 | unspecified.}
28 |
29 | \item{replicates}{A \code{\link{numeric}} indicating the number of replicate
30 | simulations to use for each value of
31 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}}. Defaults to
32 | \code{1e5}.}
33 |
34 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
35 | of the function's progress should be printed to the console. Defaults to
36 | \code{FALSE}.}
37 | }
38 | \value{
39 | A \code{\link{list}} containing the following elements
40 | \itemize{
41 | \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
42 | operating characteristics.
43 | \item Each of the input variables.
44 | }
45 | }
46 | \description{
47 | \code{sim_dtl_bern()} determines the operating characteristics of a specified
48 | multi-stage drop-the-losers multi-arm clinical trial design assuming the
49 | primary outcome is Bernoulli distributed, for given values of the true
50 | treatment effects, using simulation.
51 | }
52 | \examples{
53 | \dontrun{
54 | # The estimated operating characteristics for the default parameters
55 | sim <- sim_dtl_bern()
56 | }
57 | }
58 | \seealso{
59 | \code{\link{build_dtl_bern}}, \code{\link{des_dtl_bern}},
60 | \code{\link{opchar_dtl_bern}}, \code{\link{plot.multiarm_des_dtl_bern}}.
61 | }
62 |
--------------------------------------------------------------------------------
/man/sim_dtl_norm.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/sim_dtl_norm.R
3 | \name{sim_dtl_norm}
4 | \alias{sim_dtl_norm}
5 | \title{Empirically determine the operating characteristics of a multi-stage
6 | drop-the-losers multi-arm clinical trial for a normally distributed primary
7 | outcome}
8 | \usage{
9 | sim_dtl_norm(
10 | des = des_dtl_norm(integer = TRUE),
11 | tau,
12 | replicates = 1e+05,
13 | summary = FALSE
14 | )
15 | }
16 | \arguments{
17 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_dtl_norm"}, as
18 | returned by \code{\link{build_dtl_norm}} or \code{\link{des_dtl_norm}} (i.e.,
19 | a multi-stage drop-the-losers multi-arm clinical trial design for a normally
20 | distributed outcome). \strong{Note:} The sample sizes in all arms must be
21 | whole numbers. Defaults to \code{des_dtl_norm(integer = TRUE)}.}
22 |
23 | \item{tau}{A \code{\link{matrix}} whose rows indicate values of
24 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}} at which to
25 | evaluate the operating characteristics. Defaults internally to the global
26 | null, global alternative, and each of the least favourable configurations if
27 | unspecified.}
28 |
29 | \item{replicates}{A \code{\link{numeric}} indicating the number of replicate
30 | simulations to use for each value of
31 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}}. Defaults to
32 | \code{1e5}.}
33 |
34 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
35 | of the function's progress should be printed to the console. Defaults to
36 | \code{FALSE}.}
37 | }
38 | \value{
39 | A \code{\link{list}} containing the following elements
40 | \itemize{
41 | \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
42 | operating characteristics.
43 | \item Each of the input variables.
44 | }
45 | }
46 | \description{
47 | \code{sim_dtl_norm()} determines the operating characteristics of a specified
48 | multi-stage drop-the-losers multi-arm clinical trial design assuming the
49 | primary outcome is normally distributed, for given values of the true
50 | treatment effects, using simulation.
51 | }
52 | \examples{
53 | \dontrun{
54 | # The estimated operating characteristics for the default parameters
55 | sim <- sim_dtl_norm()
56 | }
57 | }
58 | \seealso{
59 | \code{\link{build_dtl_norm}}, \code{\link{des_dtl_norm}},
60 | \code{\link{opchar_dtl_norm}}, \code{\link{plot.multiarm_des_dtl_norm}}.
61 | }
62 |
--------------------------------------------------------------------------------
/man/sim_dtl_pois.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/sim_dtl_pois.R
3 | \name{sim_dtl_pois}
4 | \alias{sim_dtl_pois}
5 | \title{Empirically determine the operating characteristics of a multi-stage
6 | drop-the-losers multi-arm clinical trial for a Poisson distributed primary
7 | outcome}
8 | \usage{
9 | sim_dtl_pois(
10 | des = des_dtl_pois(integer = TRUE),
11 | lambda,
12 | replicates = 1e+05,
13 | summary = FALSE
14 | )
15 | }
16 | \arguments{
17 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_dtl_pois"}, as
18 | returned by \code{\link{build_dtl_pois}} or \code{\link{des_dtl_pois}} (i.e.,
19 | a multi-stage drop-the-losers multi-arm clinical trial design for a Poisson
20 | distributed outcome). \strong{Note:} The sample sizes in all arms must be
21 | whole numbers. Defaults to \code{des_dtl_pois(integer = TRUE)}.}
22 |
23 | \item{lambda}{A \code{\link{matrix}} whose rows indicate values of
24 | \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}} at which to
25 | evaluate the operating characteristics. Defaults internally to the global
26 | null, global alternative, and each of the least favourable configurations if
27 | unspecified.}
28 |
29 | \item{replicates}{A \code{\link{numeric}} indicating the number of replicate
30 | simulations to use for each value of
31 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}}. Defaults to
32 | \code{1e5}.}
33 |
34 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
35 | of the function's progress should be printed to the console. Defaults to
36 | \code{FALSE}.}
37 | }
38 | \value{
39 | A \code{\link{list}} containing the following elements
40 | \itemize{
41 | \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
42 | operating characteristics.
43 | \item Each of the input variables.
44 | }
45 | }
46 | \description{
47 | \code{sim_dtl_pois()} determines the operating characteristics of a specified
48 | multi-stage drop-the-losers multi-arm clinical trial design assuming the
49 | primary outcome is Poisson distributed, for given values of the true
50 | treatment effects, using simulation.
51 | }
52 | \examples{
53 | \dontrun{
54 | # The estimated operating characteristics for the default parameters
55 | sim <- sim_dtl_pois()
56 | }
57 | }
58 | \seealso{
59 | \code{\link{build_dtl_pois}}, \code{\link{des_dtl_pois}},
60 | \code{\link{opchar_dtl_pois}}, \code{\link{plot.multiarm_des_dtl_pois}}.
61 | }
62 |
--------------------------------------------------------------------------------
/man/sim_ss_bern.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/sim_ss_bern.R
3 | \name{sim_ss_bern}
4 | \alias{sim_ss_bern}
5 | \title{Empirically determine the operating characteristics of a single-stage
6 | multi-arm clinical trial for a Bernoulli distributed primary outcome}
7 | \usage{
8 | sim_ss_bern(
9 | des = des_ss_bern(integer = TRUE),
10 | pi,
11 | replicates = 1e+05,
12 | summary = FALSE
13 | )
14 | }
15 | \arguments{
16 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_ss_bern"}, as
17 | returned by \code{\link{build_ss_bern}} or \code{\link{des_ss_bern}} (i.e., a
18 | single-stage multi-arm clinical trial design for a Bernoulli distributed
19 | outcome). \strong{Note:} The sample sizes in all arms must be whole numbers.
20 | Defaults to \code{des_ss_bern(integer = TRUE)}.}
21 |
22 | \item{pi}{A \code{\link{matrix}} whose rows indicate values of
23 | \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}} at which to
24 | evaluate the operating characteristics. Defaults internally to the global
25 | null, global alternative, and each of the least favourable configurations if
26 | unspecified.}
27 |
28 | \item{replicates}{A \code{\link{numeric}} indicating the number of replicate
29 | simulations to use for each value of
30 | \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}}. Defaults to
31 | \code{1e5}.}
32 |
33 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
34 | of the function's progress should be printed to the console. Defaults to
35 | \code{FALSE}.}
36 | }
37 | \value{
38 | A \code{\link{list}} containing the following elements
39 | \itemize{
40 | \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
41 | operating characteristics.
42 | \item Each of the input variables.
43 | }
44 | }
45 | \description{
46 | \code{sim_ss_bern()} determines the operating characteristics of a specified
47 | single-stage multi-arm clinical trial design assuming the primary outcome is
48 | Bernoulli distributed, for given values of the true treatment effects, using
49 | simulation.
50 | }
51 | \examples{
52 | \dontrun{
53 | # The estimated operating characteristics for the default parameters
54 | sim <- sim_ss_bern()
55 | # An A-optimal design, specifying tau explicitly
56 | des_A <- des_ss_bern(ratio = "A", integer = T)
57 | sim_A <- sim_ss_bern(des_A, rbind(c(0, 0),
58 | c(0.5, 0.5),
59 | c(0.5, 0),
60 | c(0, 0.5)))
61 | }
62 | }
63 | \seealso{
64 | \code{\link{build_ss_bern}}, \code{\link{des_ss_bern}},
65 | \code{\link{opchar_ss_bern}}, \code{\link{plot.multiarm_des_ss_bern}}.
66 | }
67 |
--------------------------------------------------------------------------------
/man/sim_ss_norm.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/sim_ss_norm.R
3 | \name{sim_ss_norm}
4 | \alias{sim_ss_norm}
5 | \title{Empirically determine the operating characteristics of a single-stage
6 | multi-arm clinical trial for a normally distributed primary outcome}
7 | \usage{
8 | sim_ss_norm(
9 | des = des_ss_norm(integer = TRUE),
10 | tau,
11 | replicates = 1e+05,
12 | summary = FALSE
13 | )
14 | }
15 | \arguments{
16 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_ss_norm"}, as
17 | returned by \code{\link{build_ss_norm}} or \code{\link{des_ss_norm}} (i.e., a
18 | single-stage multi-arm clinical trial design for a normally distributed
19 | outcome). \strong{Note:} The sample sizes in all arms must be whole numbers.
20 | Defaults to \code{des_ss_norm(integer = TRUE)}.}
21 |
22 | \item{tau}{A \code{\link{matrix}} whose rows indicate values of
23 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}} at which to
24 | evaluate the operating characteristics. Defaults internally to the global
25 | null, global alternative, and each of the least favourable configurations if
26 | unspecified.}
27 |
28 | \item{replicates}{A \code{\link{numeric}} indicating the number of replicate
29 | simulations to use for each value of
30 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}}. Defaults to
31 | \code{1e5}.}
32 |
33 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
34 | of the function's progress should be printed to the console. Defaults to
35 | \code{FALSE}.}
36 | }
37 | \value{
38 | A \code{\link{list}} containing the following elements
39 | \itemize{
40 | \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
41 | operating characteristics.
42 | \item Each of the input variables.
43 | }
44 | }
45 | \description{
46 | \code{sim_ss_norm()} determines the operating characteristics of a specified
47 | single-stage multi-arm clinical trial design assuming the primary outcome is
48 | normally distributed, for given values of the true treatment effects, using
49 | simulation.
50 | }
51 | \examples{
52 | \dontrun{
53 | # The estimated operating characteristics for the default parameters
54 | sim <- sim_ss_norm()
55 | # An A-optimal design, specifying tau explicitly
56 | des_A <- des_ss_norm(ratio = "A", integer = T)
57 | sim_A <- sim_ss_norm(des_A, rbind(c(0, 0),
58 | c(0.5, 0.5),
59 | c(0.5, 0),
60 | c(0, 0.5)))
61 | }
62 | }
63 | \seealso{
64 | \code{\link{build_ss_norm}}, \code{\link{des_ss_norm}},
65 | \code{\link{opchar_ss_norm}}, \code{\link{plot.multiarm_des_ss_norm}}.
66 | }
67 |
--------------------------------------------------------------------------------
/man/sim_ss_pois.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/sim_ss_pois.R
3 | \name{sim_ss_pois}
4 | \alias{sim_ss_pois}
5 | \title{Empirically determine the operating characteristics of a single-stage
6 | multi-arm clinical trial for a Poisson distributed primary outcome}
7 | \usage{
8 | sim_ss_pois(
9 | des = des_ss_pois(integer = TRUE),
10 | lambda,
11 | replicates = 1e+05,
12 | summary = FALSE
13 | )
14 | }
15 | \arguments{
16 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_ss_pois"}, as
17 | returned by \code{\link{build_ss_pois}} or \code{\link{des_ss_pois}} (i.e., a
18 | single-stage multi-arm clinical trial design for a Poisson distributed
19 | outcome). \strong{Note:} The sample sizes in all arms must be whole numbers.
20 | Defaults to \code{des_ss_pois(integer = TRUE)}.}
21 |
22 | \item{lambda}{A \code{\link{matrix}} whose rows indicate values of
23 | \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}} at which to
24 | evaluate the operating characteristics. Defaults internally to the global
25 | null, global alternative, and each of the least favourable configurations if
26 | unspecified.}
27 |
28 | \item{replicates}{A \code{\link{numeric}} indicating the number of replicate
29 | simulations to use for each value of
30 | \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}}. Defaults to
31 | \code{1e5}.}
32 |
33 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
34 | of the function's progress should be printed to the console. Defaults to
35 | \code{FALSE}.}
36 | }
37 | \value{
38 | A \code{\link{list}} containing the following elements
39 | \itemize{
40 | \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
41 | operating characteristics.
42 | \item Each of the input variables.
43 | }
44 | }
45 | \description{
46 | \code{sim_ss_pois()} determines the operating characteristics of a specified
47 | single-stage multi-arm clinical trial design assuming the primary outcome is
48 | Poisson distributed, for given values of the true treatment effects, using
49 | simulation.
50 | }
51 | \examples{
52 | \dontrun{
53 | # The estimated operating characteristics for the default parameters
54 | sim <- sim_ss_pois()
55 | # An A-optimal design, specifying tau explicitly
56 | des_A <- des_ss_pois(ratio = "A", integer = T)
57 | sim_A <- sim_ss_pois(des_A, rbind(c(0, 0),
58 | c(0.5, 0.5),
59 | c(0.5, 0),
60 | c(0, 0.5)))
61 | }
62 | }
63 | \seealso{
64 | \code{\link{build_ss_pois}}, \code{\link{des_ss_pois}},
65 | \code{\link{opchar_ss_pois}}, \code{\link{plot.multiarm_des_ss_pois}}.
66 | }
67 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/references.md:
--------------------------------------------------------------------------------
1 | A selection of references related to the methodology used in [multiarm](https://github.com/mjg211/multiarm/) are given below:
2 |
3 | Benjamini Y, Hochberg Y (1995) Controlling the false discovery rate: a practical and powerful approach to multiple testing. *J R Stat Soc B* __57__(1)__:__289--300. DOI: [10.1111/j.2517-6161.1995.tb02031.x](https://doi.org/10.1111/j.2517-6161.1995.tb02031.x).
4 |
5 | Benjamini Y, Yekutieli D (2001) The control of the false discovery rate in multiple testing under dependency. *Ann Stat* __29__(4)__:__1165--88. JSTOR: [2674075](www.jstor.org/stable/2674075).
6 |
7 | Bonferroni CE (1936) Teoria statistica delle classi e calcolo delle probabilita. *Pubblicazioni del R Istituto Superiore di Scienze Economiche e Commerciali di Firenze* __8:__3--62.
8 |
9 | Dunnett CW (1955) A multiple comparison procedure for comparing several treatments with a control. *J Am Stat Assoc* __50__(272)__:__1096--121. DOI: [10.1080/01621459.1955.10501294](https://doi.org/10.1080/01621459.1955.10501294).
10 |
11 | Hochberg Y (1988) A sharper bonferroni procedure for multiple tests of significance. *Biometrika* __75__(4)__:__800--2. DOI: [10.1093/biomet/75.4.800](https://doi.org/10.1093/biomet/75.4.800).
12 |
13 | Holm S (1979) A simple sequentially rejective multiple test procedure. *Scand J Stat* __6__(2)__:__65--70. JSTOR: [4615733](https://www.jstor.org/stable/4615733).
14 |
15 | Magirr D, Jaki T, Whitehead J (2012) A generalized Dunnett test for multi-arm multi-stage clinical studies with treatment selection. *Biometrika* __99__(2)__:__494--501. DOI: [10.1093/biomet/ass002](https://doi.org/10.1093/biomet/ass002).
16 |
17 | Sidak Z (1967) Rectangular confidence regions for the means of multivariate normal distributions. *J Am Stat Assoc* __62__(318)__:__626--33. DOI: [10.1080/01621459.1967.10482935](https://doi.org/10.1080/01621459.1967.10482935).
18 |
19 | Wason J, Stallard N, Bowden J, Jennison C (2017) A multi-stage drop-the-losers design for multi-arm clinical trials. *Stat Meth Med Res* __26__(1)__:__508--24. DOI: [10.1177/0962280214550759](https://doi.org/10.1177/0962280214550759).
20 |
--------------------------------------------------------------------------------
/man/opchar_ss_bern.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/opchar_ss_bern.R
3 | \name{opchar_ss_bern}
4 | \alias{opchar_ss_bern}
5 | \title{Analytically determine the operating characteristics of a single-stage
6 | multi-arm clinical trial for a Bernoulli distributed primary outcome}
7 | \usage{
8 | opchar_ss_bern(des = des_ss_bern(), pi, summary = FALSE)
9 | }
10 | \arguments{
11 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_ss_bern"}, as
12 | returned by \code{\link{des_ss_bern}} (i.e., a single-stage multi-arm
13 | clinical trial design for a Poisson distributed outcome). Defaults to
14 | \code{des_ss_bern()}.}
15 |
16 | \item{pi}{A \code{\link{matrix}} whose rows indicate values of
17 | \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}} at which to
18 | evaluate the operating characteristics. Defaults internally to the global
19 | null, global alternative, and each of the least favourable configurations,
20 | for the specified design \code{des}.}
21 |
22 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
23 | of the function's progress should be printed to the console. Defaults to
24 | \code{FALSE}.}
25 | }
26 | \value{
27 | A \code{\link{list}} containing the following elements
28 | \itemize{
29 | \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
30 | operating characteristics.
31 | \item Each of the input variables.
32 | }
33 | }
34 | \description{
35 | \code{opchar_ss_bern()} determines the operating characteristics of a
36 | specified single-stage multi-arm clinical trial design assuming the primary
37 | outcome variable is Bernoulli distributed, for given values of the true
38 | treatment effects, using multivariate normal integration.
39 | }
40 | \examples{
41 | # The operating characteristics for the default parameters
42 | opchar <- opchar_ss_bern()
43 | # An A-optimal design
44 | des_A <- des_ss_bern(ratio = "A")
45 | opchar_A <- opchar_ss_bern(des_A)
46 | # Using the root-K allocation rule, modifying the desired type of power and
47 | # chosen multiple comparison correction, and specifying pi explicitly
48 | des_root_K <- des_ss_bern(ratio = rep(1/sqrt(2), 2),
49 | correction = "holm_bonferroni",
50 | power = "disjunctive")
51 | opchar_root_K <- opchar_ss_bern(des_root_K, rbind(c(0.3, 0.3, 0.3),
52 | c(0.3, 0.5, 0.5),
53 | c(0.3, 0.5, 0.3),
54 | c(0.3, 0.3, 0.5)))
55 | }
56 | \seealso{
57 | \code{\link{build_ss_bern}}, \code{\link{des_ss_bern}},
58 | \code{\link{plot.multiarm_des_ss_bern}}, \code{\link{sim_ss_bern}}.
59 | }
60 |
--------------------------------------------------------------------------------
/man/opchar_ss_norm.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/opchar_ss_norm.R
3 | \name{opchar_ss_norm}
4 | \alias{opchar_ss_norm}
5 | \title{Analytically determine the operating characteristics of a single-stage
6 | multi-arm clinical trial for a normally distributed primary outcome}
7 | \usage{
8 | opchar_ss_norm(des = des_ss_norm(), tau, summary = FALSE)
9 | }
10 | \arguments{
11 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_ss_norm"}, as
12 | returned by \code{\link{build_ss_norm}} or \code{\link{des_ss_norm}} (i.e., a
13 | single-stage multi-arm clinical trial design for a normally distributed
14 | outcome). Defaults to \code{des_ss_norm()}.}
15 |
16 | \item{tau}{A \code{\link{matrix}} whose rows indicate values of
17 | \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}} at which to
18 | evaluate the operating characteristics. Defaults internally to the global
19 | null, global alternative, and each of the least favourable configurations,
20 | for the specified design \code{des}.}
21 |
22 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
23 | of the function's progress should be printed to the console. Defaults to
24 | \code{FALSE}.}
25 | }
26 | \value{
27 | A \code{\link{list}} containing the following elements
28 | \itemize{
29 | \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
30 | operating characteristics.
31 | \item Each of the input variables.
32 | }
33 | }
34 | \description{
35 | \code{opchar_ss_norm()} determines the operating characteristics of a
36 | specified single-stage multi-arm clinical trial design assuming the primary
37 | outcome variable is normally distributed, for given values of the true
38 | treatment effects, using multivariate normal integration.
39 | }
40 | \examples{
41 | # The operating characteristics for the default parameters
42 | opchar <- opchar_ss_norm()
43 | # An A-optimal design
44 | des_A <- des_ss_norm(ratio = "A")
45 | opchar_A <- opchar_ss_norm(des_A)
46 | # Using the root-K allocation rule, modifying the desired type of power and
47 | # chosen multiple comparison correction, and specifying tau explicitly
48 | des_root_K <- des_ss_norm(ratio = rep(1/sqrt(2), 2),
49 | correction = "holm_bonferroni",
50 | power = "disjunctive")
51 | opchar_root_K <- opchar_ss_norm(des_root_K, rbind(c(0, 0),
52 | c(0.5, 0.5),
53 | c(0.5, 0),
54 | c(0, 0.5)))
55 | }
56 | \seealso{
57 | \code{\link{build_ss_norm}}, \code{\link{des_ss_norm}},
58 | \code{\link{plot.multiarm_des_ss_norm}}, \code{\link{sim_ss_norm}}.
59 | }
60 |
--------------------------------------------------------------------------------
/man/opchar_ss_pois.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/opchar_ss_pois.R
3 | \name{opchar_ss_pois}
4 | \alias{opchar_ss_pois}
5 | \title{Analytically determine the operating characteristics of a single-stage
6 | multi-arm clinical trial for a Poisson distributed primary outcome}
7 | \usage{
8 | opchar_ss_pois(des = des_ss_pois(), lambda, summary = FALSE)
9 | }
10 | \arguments{
11 | \item{des}{A \code{\link{list}} of class \code{"multiarm_des_ss_pois"}, as
12 | returned by \code{\link{des_ss_pois}} (i.e., a single-stage multi-arm
13 | clinical trial design for a Poisson distributed outcome). Defaults to
14 | \code{des_ss_pois()}.}
15 |
16 | \item{lambda}{A \code{\link{matrix}} whose rows indicate values of
17 | \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}} at which to
18 | evaluate the operating characteristics. Defaults internally to the global
19 | null, global alternative, and each of the least favourable configurations,
20 | for the specified design \code{des}.}
21 |
22 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
23 | of the function's progress should be printed to the console. Defaults to
24 | \code{FALSE}.}
25 | }
26 | \value{
27 | A \code{\link{list}} containing the following elements
28 | \itemize{
29 | \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
30 | operating characteristics.
31 | \item Each of the input variables.
32 | }
33 | }
34 | \description{
35 | \code{opchar_ss_pois()} determines the operating characteristics of a
36 | specified single-stage multi-arm clinical trial design assuming the primary
37 | outcome variable is Poisson distributed, for given values of the true
38 | treatment effects, using multivariate normal integration.
39 | }
40 | \examples{
41 | # The operating characteristics for the default parameters
42 | opchar <- opchar_ss_pois()
43 | # An A-optimal design
44 | des_A <- des_ss_pois(ratio = "A")
45 | opchar_A <- opchar_ss_pois(des_A)
46 | # Using the root-K allocation rule, modifying the desired type of power and
47 | # chosen multiple comparison correction, and specifying lambda explicitly
48 | des_root_K <- des_ss_pois(ratio = rep(1/sqrt(2), 2),
49 | correction = "holm_bonferroni",
50 | power = "disjunctive")
51 | opchar_root_K <- opchar_ss_pois(des_root_K, rbind(c(0.3, 0.3, 0.3),
52 | c(0.3, 0.5, 0.5),
53 | c(0.3, 0.5, 0.3),
54 | c(0.3, 0.3, 0.5)))
55 | }
56 | \seealso{
57 | \code{\link{build_ss_pois}}, \code{\link{des_ss_pois}},
58 | \code{\link{plot.multiarm_des_ss_pois}}, \code{\link{sim_ss_pois}}.
59 | }
60 |
--------------------------------------------------------------------------------
/inst/shiny/multiarm/home.md:
--------------------------------------------------------------------------------
1 | Welcome to the [R](https://www.r-project.org/) [Shiny](https://shiny.rstudio.com/) graphical user interface (GUI) to the [R](https://www.r-project.org/) package [multiarm](https://mjg211.github.io/multiarm/).
2 |
3 | In [R](https://www.r-project.org/), [multiarm](https://mjg211.github.io/multiarm/) provides functionality to assist with the design of single-stage multi-arm clinical trials utilising one of several supported multiple comparison corrections, when the outcome data is assumed to be either normally, Bernoulli, or Poisson distributed.
4 | Available functions allow for sample size determination (including for *A*-, *D*-, and *E*-optimal designs), trial simulation, analytical operating characteristic calculation (including the conjunctive power, disjunctive power, family-wise error-rate, and false discovery rate), and the production of several plots.
5 |
6 | In addition, it can assist with the design of a variety of multi-stage designs for multi-arm clinical trials, when the outcome data is assumed to be normally, Bernoulli, or Poisson distributed.
7 | Specifically, both group-sequential and drop-the-losers approaches are supported, with available functions allowing for sample size determination, trial simulation, analytical operating characteristic calculation, and plot production.
8 |
9 | At present, this GUI supports execution of the commands for sample size determination and plot production, for both single- and multi-stage designs.
10 | Additional functionality will be added over time - feedback on what new support would be most helpful would be warmly appreciated.
11 | For an introduction to the app and some of the types of design it supports, see [Grayling and Wason (2020)](http://doi.org/10.1186/s12885-020-6525-0).
12 |
13 | See the Single-stage, Group-sequential, and Drop-the-losers tabs on the sidebar for sample size determination, or the About tab for further information on the GUI.
14 | Clicking on the [Source code](https://github.com/mjg211/multiarm) tab will re-direct you to a copy of the code and materials used to create this app.
15 |
--------------------------------------------------------------------------------
/man/plot.multiarm_des_gs_pois.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/plot.multiarm_des_gs_pois.R
3 | \name{plot.multiarm_des_gs_pois}
4 | \alias{plot.multiarm_des_gs_pois}
5 | \title{Plot operating characteristics of a multi-stage group-sequential multi-arm
6 | clinical trial for a Poisson distributed primary outcome}
7 | \usage{
8 | \method{plot}{multiarm_des_gs_pois}(
9 | x = des_gs_pois(),
10 | delta_min = -x$delta1,
11 | delta_max = 2 * x$delta1,
12 | delta = x$delta1 - x$delta0,
13 | density = 100,
14 | output = FALSE,
15 | print_plots = TRUE,
16 | summary = FALSE,
17 | ...
18 | )
19 | }
20 | \arguments{
21 | \item{x}{A \code{\link{list}} of class \code{"multiarm_des_gs_pois"}, as
22 | returned by \code{\link{build_gs_pois}} or \code{\link{des_gs_pois}} (i.e., a
23 | multi-stage group-sequential multi-arm clinical trial design for a Poisson
24 | distributed outcome). Defaults to \code{des_gs_pois()}.}
25 |
26 | \item{delta_min}{A \code{\link{numeric}} specifying the chosen minimum value
27 | for the treatment effects to include on the produced plots. Defaults to
28 | \code{-x$delta1}.}
29 |
30 | \item{delta_max}{A \code{\link{numeric}} specifying the chosen maximum
31 | value for the treatment effects to include on the produced plots. Defaults to
32 | \code{2*x$delta1}.}
33 |
34 | \item{delta}{A \code{\link{numeric}} specifying the chosen treatment effect
35 | shift to use in the 'shifted treatment effects plot'. Defaults to
36 | \code{x$delta1 - x$delta0}.}
37 |
38 | \item{density}{A \code{\link{numeric}} variable indicating the number of
39 | treatment effect scenarios to consider for each power curve. Increasing
40 | \code{density} increases the smoothness of the produced plots, at the cost of
41 | increased run time. Defaults to \code{100}.}
42 |
43 | \item{output}{A \code{\link{logical}} variable indicating whether the
44 | available outputs from the function (see below) should be returned. Defaults
45 | to \code{FALSE}.}
46 |
47 | \item{print_plots}{A \code{\link{logical}} variable indicating whether to
48 | print produced plots. Defaults to \code{TRUE}.}
49 |
50 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
51 | of the function's progress should be printed to the console. Defaults to
52 | \code{FALSE}.}
53 |
54 | \item{...}{Not currently used.}
55 | }
56 | \value{
57 | If \code{output = T}, a list containing the following elements
58 | \itemize{
59 | \item A \code{\link{list}} in the slot \code{$plots} containing the produced
60 | plots.
61 | \item Each of the input variables.
62 | }
63 | }
64 | \description{
65 | \code{plot.multiarm_des_gs_pois()} produces power curve plots for a specified
66 | multi-stage group-sequential multi-arm clinical trial design assuming the
67 | primary outcome is Poisson distributed.
68 | }
69 | \examples{
70 | \dontrun{
71 | # The design for the default parameters
72 | des <- des_gs_pois()
73 | plot(des)
74 | }
75 | }
76 | \seealso{
77 | \code{\link{build_gs_pois}}, \code{\link{des_gs_pois}},
78 | \code{\link{gui}}, \code{\link{opchar_gs_pois}}, \code{\link{sim_gs_pois}}.
79 | }
80 |
--------------------------------------------------------------------------------
/man/plot.multiarm_des_gs_norm.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/plot.multiarm_des_gs_norm.R
3 | \name{plot.multiarm_des_gs_norm}
4 | \alias{plot.multiarm_des_gs_norm}
5 | \title{Plot operating characteristics of a multi-stage group-sequential multi-arm
6 | clinical trial for a normally distributed primary outcome}
7 | \usage{
8 | \method{plot}{multiarm_des_gs_norm}(
9 | x = des_gs_norm(),
10 | delta_min = -x$delta1,
11 | delta_max = 2 * x$delta1,
12 | delta = x$delta1 - x$delta0,
13 | density = 100,
14 | output = FALSE,
15 | print_plots = TRUE,
16 | summary = FALSE,
17 | ...
18 | )
19 | }
20 | \arguments{
21 | \item{x}{A \code{\link{list}} of class \code{"multiarm_des_gs_norm"}, as
22 | returned by \code{\link{build_gs_norm}} or \code{\link{des_gs_norm}} (i.e., a
23 | multi-stage group-sequential multi-arm clinical trial design for a normally
24 | distributed outcome). Defaults to \code{des_gs_norm()}.}
25 |
26 | \item{delta_min}{A \code{\link{numeric}} specifying the chosen minimum value
27 | for the treatment effects to include on the produced plots. Defaults to
28 | \code{-x$delta1}.}
29 |
30 | \item{delta_max}{A \code{\link{numeric}} specifying the chosen maximum
31 | value for the treatment effects to include on the produced plots. Defaults to
32 | \code{2*x$delta1}.}
33 |
34 | \item{delta}{A \code{\link{numeric}} specifying the chosen treatment effect
35 | shift to use in the 'shifted treatment effects plot'. Defaults to
36 | \code{x$delta1 - x$delta0}.}
37 |
38 | \item{density}{A \code{\link{numeric}} variable indicating the number of
39 | treatment effect scenarios to consider for each power curve. Increasing
40 | \code{density} increases the smoothness of the produced plots, at the cost of
41 | increased run time. Defaults to \code{100}.}
42 |
43 | \item{output}{A \code{\link{logical}} variable indicating whether the
44 | available outputs from the function (see below) should be returned. Defaults
45 | to \code{FALSE}.}
46 |
47 | \item{print_plots}{A \code{\link{logical}} variable indicating whether to
48 | print produced plots. Defaults to \code{TRUE}.}
49 |
50 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
51 | of the function's progress should be printed to the console. Defaults to
52 | \code{FALSE}.}
53 |
54 | \item{...}{Not currently used.}
55 | }
56 | \value{
57 | If \code{output = T}, a list containing the following elements
58 | \itemize{
59 | \item A \code{\link{list}} in the slot \code{$plots} containing the produced
60 | plots.
61 | \item Each of the input variables.
62 | }
63 | }
64 | \description{
65 | \code{plot.multiarm_des_gs_norm()} produces power curve plots for a specified
66 | multi-stage group-sequential multi-arm clinical trial design assuming the
67 | primary outcome is normally distributed.
68 | }
69 | \examples{
70 | \dontrun{
71 | # The design for the default parameters
72 | des <- des_gs_norm()
73 | plot(des)
74 | }
75 | }
76 | \seealso{
77 | \code{\link{build_gs_norm}}, \code{\link{des_gs_norm}},
78 | \code{\link{gui}}, \code{\link{opchar_gs_norm}}, \code{\link{sim_gs_norm}}.
79 | }
80 |
--------------------------------------------------------------------------------
/man/plot.multiarm_des_dtl_norm.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/plot.multiarm_des_dtl_norm.R
3 | \name{plot.multiarm_des_dtl_norm}
4 | \alias{plot.multiarm_des_dtl_norm}
5 | \title{Plot operating characteristics of a multi-stage drop-the-losers multi-arm
6 | clinical trial for a normally distributed primary outcome}
7 | \usage{
8 | \method{plot}{multiarm_des_dtl_norm}(
9 | x = des_dtl_norm(),
10 | delta_min = -x$delta1,
11 | delta_max = 2 * x$delta1,
12 | delta = x$delta1 - x$delta0,
13 | density = 100,
14 | output = FALSE,
15 | print_plots = TRUE,
16 | summary = FALSE,
17 | ...
18 | )
19 | }
20 | \arguments{
21 | \item{x}{A \code{\link{list}} of class \code{"multiarm_des_dtl_norm"}, as
22 | returned by \code{\link{build_dtl_norm}} or \code{\link{des_dtl_norm}} (i.e.,
23 | a multi-stage drop-the-losers multi-arm clinical trial design for a normally
24 | distributed outcome). Defaults to \code{des_dtl_norm()}.}
25 |
26 | \item{delta_min}{A \code{\link{numeric}} specifying the chosen minimum value
27 | for the treatment effects to include on the produced plots. Defaults to
28 | \code{-x$delta1}.}
29 |
30 | \item{delta_max}{A \code{\link{numeric}} specifying the chosen maximum
31 | value for the treatment effects to include on the produced plots. Defaults to
32 | \code{2*x$delta1}.}
33 |
34 | \item{delta}{A \code{\link{numeric}} specifying the chosen treatment effect
35 | shift to use in the 'shifted treatment effects plot'. Defaults to
36 | \code{x$delta1 - x$delta0}.}
37 |
38 | \item{density}{A \code{\link{numeric}} variable indicating the number of
39 | treatment effect scenarios to consider for each power curve. Increasing
40 | \code{density} increases the smoothness of the produced plots, at the cost of
41 | increased run time. Defaults to \code{100}.}
42 |
43 | \item{output}{A \code{\link{logical}} variable indicating whether the
44 | available outputs from the function (see below) should be returned. Defaults
45 | to \code{FALSE}.}
46 |
47 | \item{print_plots}{A \code{\link{logical}} variable indicating whether to
48 | print produced plots. Defaults to \code{TRUE}.}
49 |
50 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
51 | of the function's progress should be printed to the console. Defaults to
52 | \code{FALSE}.}
53 |
54 | \item{...}{Not currently used.}
55 | }
56 | \value{
57 | If \code{output = T}, a list containing the following elements
58 | \itemize{
59 | \item A \code{\link{list}} in the slot \code{$plots} containing the produced
60 | plots.
61 | \item Each of the input variables.
62 | }
63 | }
64 | \description{
65 | \code{plot.multiarm_des_dtl_norm()} produces power curve plots for a
66 | specified multi-stage drop-the-losers multi-arm clinical trial design
67 | assuming the primary outcome is normally distributed.
68 | }
69 | \examples{
70 | \dontrun{
71 | # The design for the default parameters
72 | des <- des_dtl_norm()
73 | plot(des)
74 | }
75 | }
76 | \seealso{
77 | \code{\link{build_dtl_norm}}, \code{\link{des_dtl_norm}},
78 | \code{\link{gui}}, \code{\link{opchar_dtl_norm}}, \code{\link{sim_dtl_norm}}.
79 | }
80 |
--------------------------------------------------------------------------------
/man/plot.multiarm_des_dtl_pois.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/plot.multiarm_des_dtl_pois.R
3 | \name{plot.multiarm_des_dtl_pois}
4 | \alias{plot.multiarm_des_dtl_pois}
5 | \title{Plot operating characteristics of a multi-stage drop-the-losers multi-arm
6 | clinical trial for a Poisson distributed primary outcome}
7 | \usage{
8 | \method{plot}{multiarm_des_dtl_pois}(
9 | x = des_dtl_pois(),
10 | delta_min = -x$delta1,
11 | delta_max = 2 * x$delta1,
12 | delta = x$delta1 - x$delta0,
13 | density = 100,
14 | output = FALSE,
15 | print_plots = TRUE,
16 | summary = FALSE,
17 | ...
18 | )
19 | }
20 | \arguments{
21 | \item{x}{A \code{\link{list}} of class \code{"multiarm_des_dtl_pois"}, as
22 | returned by \code{\link{build_dtl_pois}} or \code{\link{des_dtl_pois}} (i.e.,
23 | a multi-stage drop-the-losers multi-arm clinical trial design for a Poisson
24 | distributed outcome). Defaults to \code{des_dtl_pois()}.}
25 |
26 | \item{delta_min}{A \code{\link{numeric}} specifying the chosen minimum value
27 | for the treatment effects to include on the produced plots. Defaults to
28 | \code{-x$delta1}.}
29 |
30 | \item{delta_max}{A \code{\link{numeric}} specifying the chosen maximum
31 | value for the treatment effects to include on the produced plots. Defaults to
32 | \code{2*x$delta1}.}
33 |
34 | \item{delta}{A \code{\link{numeric}} specifying the chosen treatment effect
35 | shift to use in the 'shifted treatment effects plot'. Defaults to
36 | \code{x$delta1 - x$delta0}.}
37 |
38 | \item{density}{A \code{\link{numeric}} variable indicating the number of
39 | treatment effect scenarios to consider for each power curve. Increasing
40 | \code{density} increases the smoothness of the produced plots, at the cost of
41 | increased run time. Defaults to \code{100}.}
42 |
43 | \item{output}{A \code{\link{logical}} variable indicating whether the
44 | available outputs from the function (see below) should be returned. Defaults
45 | to \code{FALSE}.}
46 |
47 | \item{print_plots}{A \code{\link{logical}} variable indicating whether to
48 | print produced plots. Defaults to \code{TRUE}.}
49 |
50 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
51 | of the function's progress should be printed to the console. Defaults to
52 | \code{FALSE}.}
53 |
54 | \item{...}{Not currently used.}
55 | }
56 | \value{
57 | If \code{output = T}, a list containing the following elements
58 | \itemize{
59 | \item A \code{\link{list}} in the slot \code{$plots} containing the produced
60 | plots.
61 | \item Each of the input variables.
62 | }
63 | }
64 | \description{
65 | \code{plot.multiarm_des_dtl_pois()} produces power curve plots for a
66 | specified multi-stage drop-the-losers multi-arm clinical trial design
67 | assuming the primary outcome is Poisson distributed.
68 | }
69 | \examples{
70 | \dontrun{
71 | # The design for the default parameters
72 | des <- des_dtl_pois()
73 | plot(des)
74 | }
75 | }
76 | \seealso{
77 | \code{\link{build_dtl_pois}}, \code{\link{des_dtl_pois}},
78 | \code{\link{gui}}, \code{\link{opchar_dtl_pois}}, \code{\link{sim_dtl_pois}}.
79 | }
80 |
--------------------------------------------------------------------------------
/man/plot.multiarm_des_gs_bern.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/plot.multiarm_des_gs_bern.R
3 | \name{plot.multiarm_des_gs_bern}
4 | \alias{plot.multiarm_des_gs_bern}
5 | \title{Plot operating characteristics of a multi-stage group-sequential multi-arm
6 | clinical trial for a Bernoulli distributed primary outcome}
7 | \usage{
8 | \method{plot}{multiarm_des_gs_bern}(
9 | x = des_gs_bern(),
10 | delta_min = -x$pi0 + 1e-06,
11 | delta_max = 1 - x$pi0 - 1e-06,
12 | delta = x$delta1 - x$delta0,
13 | density = 100,
14 | output = FALSE,
15 | print_plots = TRUE,
16 | summary = FALSE,
17 | ...
18 | )
19 | }
20 | \arguments{
21 | \item{x}{A \code{\link{list}} of class \code{"multiarm_des_gs_bern"}, as
22 | returned by \code{\link{build_gs_bern}} or \code{\link{des_gs_bern}} (i.e., a
23 | multi-stage group-sequential multi-arm clinical trial design for a Bernoulli
24 | distributed outcome). Defaults to \code{des_gs_bern()}.}
25 |
26 | \item{delta_min}{A \code{\link{numeric}} specifying the chosen minimum value
27 | for the treatment effects to include on the produced plots. Defaults to
28 | \code{-x$pi0 + 1e-6}.}
29 |
30 | \item{delta_max}{A \code{\link{numeric}} specifying the chosen maximum
31 | value for the treatment effects to include on the produced plots. Defaults to
32 | \code{1 - x$pi0 - 1e-6}.}
33 |
34 | \item{delta}{A \code{\link{numeric}} specifying the chosen treatment effect
35 | shift to use in the 'shifted treatment effects plot'. Defaults to
36 | \code{x$delta1 - x$delta0}.}
37 |
38 | \item{density}{A \code{\link{numeric}} variable indicating the number of
39 | treatment effect scenarios to consider for each power curve. Increasing
40 | \code{density} increases the smoothness of the produced plots, at the cost of
41 | increased run time. Defaults to \code{100}.}
42 |
43 | \item{output}{A \code{\link{logical}} variable indicating whether the
44 | available outputs from the function (see below) should be returned. Defaults
45 | to \code{FALSE}.}
46 |
47 | \item{print_plots}{A \code{\link{logical}} variable indicating whether to
48 | print produced plots. Defaults to \code{TRUE}.}
49 |
50 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
51 | of the function's progress should be printed to the console. Defaults to
52 | \code{FALSE}.}
53 |
54 | \item{...}{Not currently used.}
55 | }
56 | \value{
57 | If \code{output = T}, a list containing the following elements
58 | \itemize{
59 | \item A \code{\link{list}} in the slot \code{$plots} containing the produced
60 | plots.
61 | \item Each of the input variables.
62 | }
63 | }
64 | \description{
65 | \code{plot.multiarm_des_gs_bern()} produces power curve plots for a specified
66 | multi-stage group-sequential multi-arm clinical trial design assuming the
67 | primary outcome is Bernoulli distributed.
68 | }
69 | \examples{
70 | \dontrun{
71 | # The design for the default parameters
72 | des <- des_gs_bern()
73 | plot(des)
74 | }
75 | }
76 | \seealso{
77 | \code{\link{build_gs_bern}}, \code{\link{des_gs_bern}},
78 | \code{\link{gui}}, \code{\link{opchar_gs_bern}}, \code{\link{sim_gs_bern}}.
79 | }
80 |
--------------------------------------------------------------------------------
/man/plot.multiarm_des_dtl_bern.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/plot.multiarm_des_dtl_bern.R
3 | \name{plot.multiarm_des_dtl_bern}
4 | \alias{plot.multiarm_des_dtl_bern}
5 | \title{Plot operating characteristics of a multi-stage drop-the-losers multi-arm
6 | clinical trial for a Bernoulli distributed primary outcome}
7 | \usage{
8 | \method{plot}{multiarm_des_dtl_bern}(
9 | x = des_dtl_bern(),
10 | delta_min = -x$pi0 + 1e-06,
11 | delta_max = 1 - x$pi0 - 1e-06,
12 | delta = x$delta1 - x$delta0,
13 | density = 100,
14 | output = FALSE,
15 | print_plots = TRUE,
16 | summary = FALSE,
17 | ...
18 | )
19 | }
20 | \arguments{
21 | \item{x}{A \code{\link{list}} of class \code{"multiarm_des_dtl_bern"}, as
22 | returned by \code{\link{build_dtl_bern}} or \code{\link{des_dtl_bern}} (i.e.,
23 | a multi-stage drop-the-losers multi-arm clinical trial design for a Bernoulli
24 | distributed outcome). Defaults to \code{des_dtl_bern()}.}
25 |
26 | \item{delta_min}{A \code{\link{numeric}} specifying the chosen minimum value
27 | for the treatment effects to include on the produced plots. Defaults to
28 | \code{-x$pi0 + 1e-6}.}
29 |
30 | \item{delta_max}{A \code{\link{numeric}} specifying the chosen maximum
31 | value for the treatment effects to include on the produced plots. Defaults to
32 | \code{1 - x$pi0 - 1e-6}.}
33 |
34 | \item{delta}{A \code{\link{numeric}} specifying the chosen treatment effect
35 | shift to use in the 'shifted treatment effects plot'. Defaults to
36 | \code{x$delta1 - x$delta0}.}
37 |
38 | \item{density}{A \code{\link{numeric}} variable indicating the number of
39 | treatment effect scenarios to consider for each power curve. Increasing
40 | \code{density} increases the smoothness of the produced plots, at the cost of
41 | increased run time. Defaults to \code{100}.}
42 |
43 | \item{output}{A \code{\link{logical}} variable indicating whether the
44 | available outputs from the function (see below) should be returned. Defaults
45 | to \code{FALSE}.}
46 |
47 | \item{print_plots}{A \code{\link{logical}} variable indicating whether to
48 | print produced plots. Defaults to \code{TRUE}.}
49 |
50 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
51 | of the function's progress should be printed to the console. Defaults to
52 | \code{FALSE}.}
53 |
54 | \item{...}{Not currently used.}
55 | }
56 | \value{
57 | If \code{output = T}, a list containing the following elements
58 | \itemize{
59 | \item A \code{\link{list}} in the slot \code{$plots} containing the produced
60 | plots.
61 | \item Each of the input variables.
62 | }
63 | }
64 | \description{
65 | \code{plot.multiarm_des_dtl_bern()} produces power curve plots for a
66 | specified multi-stage drop-the-losers multi-arm clinical trial design
67 | assuming the primary outcome is Bernoulli distributed.
68 | }
69 | \examples{
70 | \dontrun{
71 | # The design for the default parameters
72 | des <- des_dtl_bern()
73 | plot(des)
74 | }
75 | }
76 | \seealso{
77 | \code{\link{build_dtl_bern}}, \code{\link{des_dtl_bern}},
78 | \code{\link{gui}}, \code{\link{opchar_dtl_bern}}, \code{\link{sim_dtl_bern}}.
79 | }
80 |
--------------------------------------------------------------------------------
/R/opchar_dtl_norm.R:
--------------------------------------------------------------------------------
1 | #' Analytically determine the operating characteristics of a multi-stage
2 | #' drop-the-losers multi-arm clinical trial for a normally distributed primary
3 | #' outcome
4 | #'
5 | #' \code{opchar_dtl_norm()} determines the operating characteristics of a
6 | #' specified multi-stage drop-the-losers multi-arm clinical trial design
7 | #' assuming the primary outcome variable is normally distributed, for given
8 | #' values of the true treatment effects, using multivariate normal integration.
9 | #'
10 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_dtl_norm"}, as
11 | #' returned by \code{\link{build_dtl_norm}} or \code{\link{des_dtl_norm}} (i.e., a
12 | #' multi-stage drop-the-losers multi-arm clinical trial design for a normally
13 | #' distributed outcome). Defaults to \code{des_dtl_norm()}.
14 | #' @param tau A \code{\link{matrix}} whose rows indicate values of
15 | #' \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}} at which to
16 | #' evaluate the operating characteristics. Defaults internally to the global
17 | #' null, global alternative, and each of the least favourable configurations,
18 | #' for the specified design \code{des}.
19 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
20 | #' of the function's progress should be printed to the console. Defaults to
21 | #' \code{FALSE}.
22 | #' @return A \code{\link{list}} containing the following elements
23 | #' \itemize{
24 | #' \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
25 | #' operating characteristics.
26 | #' \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
27 | #' probability mass functions of the random required sample size.
28 | #' \item Each of the input variables.
29 | #' }
30 | #' @examples
31 | #' # The operating characteristics for the default parameters
32 | #' opchar <- opchar_dtl_norm()
33 | #' @seealso \code{\link{build_dtl_norm}}, \code{\link{des_dtl_norm}},
34 | #' \code{\link{plot.multiarm_des_dtl_norm}}, \code{\link{sim_dtl_norm}}.
35 | #' @export
36 | opchar_dtl_norm <- function(des = des_dtl_norm(), tau, summary = FALSE) {
37 |
38 | ##### Check input variables ##################################################
39 |
40 | #check_multiarm_des_dtl_norm(des)
41 | tau <- check_tau(tau, des)
42 | check_logical(summary, "summary")
43 |
44 | ##### Print summary ##########################################################
45 |
46 | if (summary) {
47 | #summary_opchar_dtl(des, tau, "norm")
48 | message("")
49 | }
50 |
51 | ##### Perform main computations ##############################################
52 |
53 | if (summary) {
54 | message(" Beginning the required calculations..")
55 | }
56 | comp <- components_dtl_init(des$alpha, des$beta, des$delta0, des$delta1,
57 | des$integer, des$Kv, des$power, des$ratio,
58 | des$spacing, des$summary, des$type, des$sigma,
59 | n_factor = des$n_factor, e = des$e)
60 | comp <- components_dtl_update(comp, tau)
61 | comp <- opchar_dtl_internal(comp)
62 | if (summary) {
63 | message("..completed the required calculations.")
64 | message(" Preparing for outputting..")
65 | }
66 |
67 | ##### Outputting #############################################################
68 |
69 | if (summary) {
70 | message("..outputting.")
71 | }
72 | list(des = des,
73 | opchar = comp$opchar,
74 | summary = summary,
75 | tau = tau)
76 |
77 | }
78 |
--------------------------------------------------------------------------------
/R/opchar_dtl_bern.R:
--------------------------------------------------------------------------------
1 | #' Analytically determine the operating characteristics of a multi-stage
2 | #' drop-the-losers multi-arm clinical trial for a Bernoulli distributed primary
3 | #' outcome
4 | #'
5 | #' \code{opchar_dtl_bern()} determines the operating characteristics of a
6 | #' specified multi-stage drop-the-losers multi-arm clinical trial design
7 | #' assuming the primary outcome variable is Bernoulli distributed, for given
8 | #' values of the true treatment effects, using multivariate normal integration.
9 | #'
10 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_dtl_bern"}, as
11 | #' returned by \code{\link{build_dtl_bern}} or \code{\link{des_dtl_bern}} (i.e., a
12 | #' multi-stage drop-the-losers multi-arm clinical trial design for a Bernoulli
13 | #' distributed outcome). Defaults to \code{des_dtl_bern()}.
14 | #' @param pi A \code{\link{matrix}} whose rows indicate values of
15 | #' \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}} at which to
16 | #' evaluate the operating characteristics. Defaults internally to the global
17 | #' null, global alternative, and each of the least favourable configurations,
18 | #' for the specified design \code{des}.
19 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
20 | #' of the function's progress should be printed to the console. Defaults to
21 | #' \code{FALSE}.
22 | #' @return A \code{\link{list}} containing the following elements
23 | #' \itemize{
24 | #' \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
25 | #' operating characteristics.
26 | #' \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
27 | #' probability mass functions of the random required sample size.
28 | #' \item Each of the input variables.
29 | #' }
30 | #' @examples
31 | #' # The operating characteristics for the default parameters
32 | #' opchar <- opchar_dtl_bern()
33 | #' @seealso \code{\link{build_dtl_bern}}, \code{\link{des_dtl_bern}},
34 | #' \code{\link{plot.multiarm_des_dtl_bern}}, \code{\link{sim_dtl_bern}}.
35 | #' @export
36 | opchar_dtl_bern <- function(des = des_dtl_bern(), pi, summary = FALSE) {
37 |
38 | ##### Check input variables ##################################################
39 |
40 | #check_multiarm_des_dtl_bern(des)
41 | pi <- check_pi(pi, des)
42 | check_logical(summary, "summary")
43 |
44 | ##### Print summary ##########################################################
45 |
46 | if (summary) {
47 | #summary_opchar_dtl(des, pi, "bern")
48 | message("")
49 | }
50 |
51 | ##### Perform main computations ##############################################
52 |
53 | if (summary) {
54 | message(" Beginning the required calculations..")
55 | }
56 | comp <- components_dtl_init(des$alpha, des$beta, des$delta0, des$delta1,
57 | des$integer, des$Kv, des$power, des$ratio,
58 | des$spacing, des$summary, des$type, pi0 = des$pi0,
59 | n_factor = des$n_factor, e = des$e)
60 |
61 |
62 | comp <- components_dtl_update(comp, pi = pi)
63 | comp <- opchar_dtl_internal(comp)
64 | if (summary) {
65 | message("..completed the required calculations.")
66 | message(" Preparing for outputting..")
67 | }
68 |
69 | ##### Outputting #############################################################
70 |
71 | if (summary) {
72 | message("..outputting.")
73 | }
74 | list(des = des,
75 | opchar = comp$opchar,
76 | pi = pi,
77 | summary = summary)
78 |
79 | }
80 |
--------------------------------------------------------------------------------
/man/plot.multiarm_des_ss_norm.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/plot.multiarm_des_ss_norm.R
3 | \name{plot.multiarm_des_ss_norm}
4 | \alias{plot.multiarm_des_ss_norm}
5 | \title{Plot operating characteristics of a single-stage multi-arm clinical trial
6 | for a normally distributed primary outcome}
7 | \usage{
8 | \method{plot}{multiarm_des_ss_norm}(
9 | x = des_ss_norm(),
10 | delta_min = -x$delta1,
11 | delta_max = 2 * x$delta1,
12 | delta = x$delta1 - x$delta0,
13 | density = 100,
14 | output = FALSE,
15 | print_plots = TRUE,
16 | summary = FALSE,
17 | ...
18 | )
19 | }
20 | \arguments{
21 | \item{x}{A \code{\link{list}} of class \code{"multiarm_des_ss_norm"}, as
22 | returned by \code{\link{build_ss_norm}} or \code{\link{des_ss_norm}} (i.e., a
23 | single-stage multi-arm clinical trial design for a normally distributed
24 | outcome). Defaults to \code{des_ss_norm()}.}
25 |
26 | \item{delta_min}{A \code{\link{numeric}} specifying the chosen minimum value
27 | for the treatment effects to include on the produced plots. Defaults to
28 | \code{-x$delta1}.}
29 |
30 | \item{delta_max}{A \code{\link{numeric}} specifying the chosen maximum
31 | value for the treatment effects to include on the produced plots. Defaults to
32 | \code{2*x$delta1}.}
33 |
34 | \item{delta}{A \code{\link{numeric}} specifying the chosen treatment effect
35 | shift to use in the 'shifted treatment effects plot'. Defaults to
36 | \code{x$delta1 - x$delta0}.}
37 |
38 | \item{density}{A \code{\link{numeric}} variable indicating the number of
39 | treatment effect scenarios to consider for each power curve. Increasing
40 | \code{density} increases the smoothness of the produced plots, at the cost of
41 | increased run time. Defaults to \code{100}.}
42 |
43 | \item{output}{A \code{\link{logical}} variable indicating whether the
44 | available outputs from the function (see below) should be returned. Defaults
45 | to \code{FALSE}.}
46 |
47 | \item{print_plots}{A \code{\link{logical}} variable indicating whether to
48 | print produced plots. Defaults to \code{TRUE}.}
49 |
50 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
51 | of the function's progress should be printed to the console. Defaults to
52 | \code{FALSE}.}
53 |
54 | \item{...}{Not currently used.}
55 | }
56 | \value{
57 | If \code{output = T}, a list containing the following elements
58 | \itemize{
59 | \item A \code{\link{list}} in the slot \code{$plots} containing the produced
60 | plots.
61 | \item Each of the input variables.
62 | }
63 | }
64 | \description{
65 | \code{plot.multiarm_des_ss_norm()} produces power curve plots for a specified
66 | single-stage multi-arm clinical trial design assuming the primary outcome is
67 | normally distributed.
68 | }
69 | \examples{
70 | \dontrun{
71 | # The design for the default parameters
72 | des <- des_ss_norm()
73 | plot(des)
74 | # An A-optimal design, returning the avaiable outputs from
75 | # plot.multiarm_des_ss_norm()
76 | des_A <- des_ss_norm(ratio = "A")
77 | plots <- plot(des_A, output = T)
78 | # Using the root-K allocation rule, modifying the desired type of power, and
79 | # choosing an alternative multiple comparison correction
80 | des_root_K <- des_ss_norm(ratio = rep(1/sqrt(2), 2),
81 | correction = "holm_bonferroni",
82 | power = "disjunctive")
83 | plot(des_root_K)
84 | }
85 | }
86 | \seealso{
87 | \code{\link{build_ss_norm}}, \code{\link{des_ss_norm}},
88 | \code{\link{gui}}, \code{\link{opchar_ss_norm}}, \code{\link{sim_ss_norm}}.
89 | }
90 |
--------------------------------------------------------------------------------
/man/plot.multiarm_des_ss_pois.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/plot.multiarm_des_ss_pois.R
3 | \name{plot.multiarm_des_ss_pois}
4 | \alias{plot.multiarm_des_ss_pois}
5 | \title{Plot operating characteristics of a single-stage multi-arm clinical trial
6 | for a Poisson distributed primary outcome}
7 | \usage{
8 | \method{plot}{multiarm_des_ss_pois}(
9 | x = des_ss_pois(),
10 | delta_min = -x$delta1,
11 | delta_max = 2 * x$delta1,
12 | delta = x$delta1 - x$delta0,
13 | density = 100,
14 | output = FALSE,
15 | print_plots = TRUE,
16 | summary = FALSE,
17 | ...
18 | )
19 | }
20 | \arguments{
21 | \item{x}{A \code{\link{list}} of class \code{"multiarm_des_ss_pois"}, as
22 | returned by \code{\link{build_ss_pois}} or \code{\link{des_ss_pois}} (i.e., a
23 | single-stage multi-arm clinical trial design for a Poisson distributed
24 | outcome). Defaults to \code{des_ss_pois()}.}
25 |
26 | \item{delta_min}{A \code{\link{numeric}} specifying the chosen minimum value
27 | for the treatment effects to include on the produced plots. Defaults to
28 | \code{-x$delta1}.}
29 |
30 | \item{delta_max}{A \code{\link{numeric}} specifying the chosen maximum
31 | value for the treatment effects to include on the produced plots. Defaults to
32 | \code{2*x$delta1}.}
33 |
34 | \item{delta}{A \code{\link{numeric}} specifying the chosen treatment effect
35 | shift to use in the 'shifted treatment effects plot'. Defaults to
36 | \code{x$delta1 - x$delta0}.}
37 |
38 | \item{density}{A \code{\link{numeric}} variable indicating the number of
39 | treatment effect scenarios to consider for each power curve. Increasing
40 | \code{density} increases the smoothness of the produced plots, at the cost of
41 | increased run time. Defaults to \code{100}.}
42 |
43 | \item{output}{A \code{\link{logical}} variable indicating whether the
44 | available outputs from the function (see below) should be returned. Defaults
45 | to \code{FALSE}.}
46 |
47 | \item{print_plots}{A \code{\link{logical}} variable indicating whether to
48 | print produced plots. Defaults to \code{TRUE}.}
49 |
50 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
51 | of the function's progress should be printed to the console. Defaults to
52 | \code{FALSE}.}
53 |
54 | \item{...}{Not currently used.}
55 | }
56 | \value{
57 | If \code{output = T}, a list containing the following elements
58 | \itemize{
59 | \item A \code{\link{list}} in the slot \code{$plots} containing the produced
60 | plots.
61 | \item Each of the input variables.
62 | }
63 | }
64 | \description{
65 | \code{plot.multiarm_des_ss_pois()} produces power curve plots for a specified
66 | single-stage multi-arm clinical trial design assuming the primary outcome is
67 | Poisson distributed.
68 | }
69 | \examples{
70 | \dontrun{
71 | # The design for the default parameters
72 | des <- des_ss_pois()
73 | plot(des)
74 | # An A-optimal design, returning the avaiable outputs from
75 | # plot.multiarm_des_ss_pois()
76 | des_A <- des_ss_pois(ratio = "A")
77 | plots <- plot(des_A, output = T)
78 | # Using the root-K allocation rule, modifying the desired type of power, and
79 | # choosing an alternative multiple comparison correction
80 | des_root_K <- des_ss_pois(ratio = rep(1/sqrt(2), 2),
81 | correction = "holm_bonferroni",
82 | power = "disjunctive")
83 | plot(des_root_K)
84 | }
85 | }
86 | \seealso{
87 | \code{\link{build_ss_pois}}, \code{\link{des_ss_pois}},
88 | \code{\link{gui}}, \code{\link{opchar_ss_pois}}, \code{\link{sim_ss_pois}}.
89 | }
90 |
--------------------------------------------------------------------------------
/man/plot.multiarm_des_ss_bern.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/plot.multiarm_des_ss_bern.R
3 | \name{plot.multiarm_des_ss_bern}
4 | \alias{plot.multiarm_des_ss_bern}
5 | \title{Plot operating characteristics of a single-stage multi-arm clinical trial
6 | for a Bernoulli distributed primary outcome}
7 | \usage{
8 | \method{plot}{multiarm_des_ss_bern}(
9 | x = des_ss_bern(),
10 | delta_min = -x$pi0 + 1e-06,
11 | delta_max = 1 - x$pi0 - 1e-06,
12 | delta = x$delta1 - x$delta0,
13 | density = 100,
14 | output = FALSE,
15 | print_plots = TRUE,
16 | summary = FALSE,
17 | ...
18 | )
19 | }
20 | \arguments{
21 | \item{x}{A \code{\link{list}} of class \code{"multiarm_des_ss_bern"}, as
22 | returned by \code{\link{build_ss_bern}} or \code{\link{des_ss_bern}} (i.e., a
23 | single-stage multi-arm clinical trial design for a Bernoulli distributed
24 | outcome). Defaults to \code{des_ss_bern()}.}
25 |
26 | \item{delta_min}{A \code{\link{numeric}} specifying the chosen minimum value
27 | for the treatment effects to include on the produced plots. Defaults to
28 | \code{-x$pi0 + 1e-6}.}
29 |
30 | \item{delta_max}{A \code{\link{numeric}} specifying the chosen maximum
31 | value for the treatment effects to include on the produced plots. Defaults to
32 | \code{1 - x$pi0 - 1e-6}.}
33 |
34 | \item{delta}{A \code{\link{numeric}} specifying the chosen treatment effect
35 | shift to use in the 'shifted treatment effects plot'. Defaults to
36 | \code{x$delta1 - x$delta0}.}
37 |
38 | \item{density}{A \code{\link{numeric}} variable indicating the number of
39 | treatment effect scenarios to consider for each power curve. Increasing
40 | \code{density} increases the smoothness of the produced plots, at the cost of
41 | increased run time. Defaults to \code{100}.}
42 |
43 | \item{output}{A \code{\link{logical}} variable indicating whether the
44 | available outputs from the function (see below) should be returned. Defaults
45 | to \code{FALSE}.}
46 |
47 | \item{print_plots}{A \code{\link{logical}} variable indicating whether to
48 | print produced plots. Defaults to \code{TRUE}.}
49 |
50 | \item{summary}{A \code{\link{logical}} variable indicating whether a summary
51 | of the function's progress should be printed to the console. Defaults to
52 | \code{FALSE}.}
53 |
54 | \item{...}{Not currently used.}
55 | }
56 | \value{
57 | If \code{output = T}, a list containing the following elements
58 | \itemize{
59 | \item A \code{\link{list}} in the slot \code{$plots} containing the produced
60 | plots.
61 | \item Each of the input variables.
62 | }
63 | }
64 | \description{
65 | \code{plot.multiarm_des_ss_bern()} produces power curve plots for a specified
66 | single-stage multi-arm clinical trial design assuming the primary outcome is
67 | Bernoulli distributed.
68 | }
69 | \examples{
70 | \dontrun{
71 | # The design for the default parameters
72 | des <- des_ss_bern()
73 | plot(des)
74 | # An A-optimal design, returning the avaiable outputs from
75 | # plot.multiarm_des_ss_bern()
76 | des_A <- des_ss_bern(ratio = "A")
77 | plots <- plot(des_A, output = T)
78 | # Using the root-K allocation rule, modifying the desired type of power, and
79 | # choosing an alternative multiple comparison correction
80 | des_root_K <- des_ss_bern(ratio = rep(1/sqrt(2), 2),
81 | correction = "holm_bonferroni",
82 | power = "disjunctive")
83 | plot(des_root_K)
84 | }
85 | }
86 | \seealso{
87 | \code{\link{build_ss_bern}}, \code{\link{des_ss_bern}},
88 | \code{\link{gui}}, \code{\link{opchar_ss_bern}}, \code{\link{sim_ss_bern}}.
89 | }
90 |
--------------------------------------------------------------------------------
/R/opchar_dtl_pois.R:
--------------------------------------------------------------------------------
1 | #' Analytically determine the operating characteristics of a multi-stage
2 | #' drop-the-losers multi-arm clinical trial for a Poisson distributed primary
3 | #' outcome
4 | #'
5 | #' \code{opchar_dtl_pois()} determines the operating characteristics of a
6 | #' specified multi-stage drop-the-losers multi-arm clinical trial design
7 | #' assuming the primary outcome variable is Poisson distributed, for given
8 | #' values of the true treatment effects, using multivariate normal integration.
9 | #'
10 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_dtl_pois"}, as
11 | #' returned by \code{\link{build_dtl_pois}} or \code{\link{des_dtl_pois}} (i.e., a
12 | #' multi-stage drop-the-losers multi-arm clinical trial design for a Poisson
13 | #' distributed outcome). Defaults to \code{des_dtl_pois()}.
14 | #' @param lambda A \code{\link{matrix}} whose rows indicate values of
15 | #' \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}} at which to
16 | #' evaluate the operating characteristics. Defaults internally to the global
17 | #' null, global alternative, and each of the least favourable configurations,
18 | #' for the specified design \code{des}.
19 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
20 | #' of the function's progress should be printed to the console. Defaults to
21 | #' \code{FALSE}.
22 | #' @return A \code{\link{list}} containing the following elements
23 | #' \itemize{
24 | #' \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
25 | #' operating characteristics.
26 | #' \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
27 | #' probability mass functions of the random required sample size.
28 | #' \item Each of the input variables.
29 | #' }
30 | #' @examples
31 | #' # The operating characteristics for the default parameters
32 | #' opchar <- opchar_dtl_pois()
33 | #' @seealso \code{\link{build_dtl_pois}}, \code{\link{des_dtl_pois}},
34 | #' \code{\link{plot.multiarm_des_dtl_pois}}, \code{\link{sim_dtl_pois}}.
35 | #' @export
36 | opchar_dtl_pois <- function(des = des_dtl_pois(), lambda, summary = FALSE) {
37 |
38 | ##### Check input variables ##################################################
39 |
40 | #check_multiarm_des_dtl_pois(des)
41 | lambda <- check_lambda(lambda, des)
42 | check_logical(summary, "summary")
43 |
44 | ##### Print summary ##########################################################
45 |
46 | if (summary) {
47 | #summary_opchar_dtl(des, lambda, "pois")
48 | message("")
49 | }
50 |
51 | ##### Perform main computations ##############################################
52 |
53 | if (summary) {
54 | message(" Beginning the required calculations..")
55 | }
56 | comp <- components_dtl_init(des$alpha, des$beta, des$delta0, des$delta1,
57 | des$integer, des$Kv, des$power, des$ratio,
58 | des$spacing, des$summary, des$type,
59 | lambda0 = des$lambda0, n_factor = des$n_factor,
60 | e = des$e)
61 | comp <- components_dtl_update(comp, lambda = lambda)
62 | comp <- opchar_dtl_internal(comp)
63 | if (summary) {
64 | message("..completed the required calculations.")
65 | message(" Preparing for outputting..")
66 | }
67 |
68 | ##### Outputting #############################################################
69 |
70 | if (summary) {
71 | message("..outputting.")
72 | }
73 | list(des = des,
74 | lambda = lambda,
75 | opchar = comp$opchar,
76 | summary = summary)
77 |
78 | }
79 |
--------------------------------------------------------------------------------
/R/opchar_gs_norm.R:
--------------------------------------------------------------------------------
1 | #' Analytically determine the operating characteristics of a multi-stage
2 | #' group-sequential multi-arm clinical trial for a normally distributed primary
3 | #' outcome
4 | #'
5 | #' \code{opchar_gs_norm()} determines the operating characteristics of a
6 | #' specified multi-stage group-sequential multi-arm clinical trial design
7 | #' assuming the primary outcome variable is normally distributed, for given
8 | #' values of the true treatment effects, using multivariate normal integration.
9 | #'
10 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_gs_norm"}, as
11 | #' returned by \code{\link{build_gs_norm}} or \code{\link{des_gs_norm}} (i.e., a
12 | #' multi-stage group-sequential multi-arm clinical trial design for a normally
13 | #' distributed outcome). Defaults to \code{des_gs_norm()}.
14 | #' @param tau A \code{\link{matrix}} whose rows indicate values of
15 | #' \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}} at which to
16 | #' evaluate the operating characteristics. Defaults internally to the global
17 | #' null, global alternative, and each of the least favourable configurations,
18 | #' for the specified design \code{des}.
19 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
20 | #' of the function's progress should be printed to the console. Defaults to
21 | #' \code{FALSE}.
22 | #' @return A \code{\link{list}} containing the following elements
23 | #' \itemize{
24 | #' \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
25 | #' operating characteristics.
26 | #' \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
27 | #' probability mass functions of the random required sample size.
28 | #' \item Each of the input variables.
29 | #' }
30 | #' @examples
31 | #' # The operating characteristics for the default parameters
32 | #' opchar <- opchar_gs_norm()
33 | #' @seealso \code{\link{build_gs_norm}}, \code{\link{des_gs_norm}},
34 | #' \code{\link{plot.multiarm_des_gs_norm}}, \code{\link{sim_gs_norm}}.
35 | #' @export
36 | opchar_gs_norm <- function(des = des_gs_norm(), tau, summary = FALSE) {
37 |
38 | ##### Check input variables ##################################################
39 |
40 | #check_multiarm_des_gs_norm(des)
41 | tau <- check_tau(tau, des)
42 | check_logical(summary, "summary")
43 |
44 | ##### Print summary ##########################################################
45 |
46 | if (summary) {
47 | #summary_opchar_gs_norm(des, tau, "norm")
48 | message("")
49 | }
50 |
51 | ##### Perform main computations ##############################################
52 |
53 | if (summary) {
54 | message(" Beginning the required calculations..")
55 | }
56 | comp <- components_gs_init(des$alpha, des$beta, des$delta0, des$delta1,
57 | des$efix, des$eshape, des$ffix, des$fshape,
58 | des$integer, des$J, des$K, des$power, des$ratio,
59 | des$spacing, des$stopping, summary,
60 | des$type, des$sigma, n_factor = des$n_factor,
61 | f = des$f, e = des$e)
62 | comp <- components_gs_update(comp, tau)
63 | comp <- opchar_gs_internal(comp)
64 | if (summary) {
65 | message("..completed the required calculations.")
66 | message(" Preparing for outputting..")
67 | }
68 |
69 | ##### Outputting #############################################################
70 |
71 | if (summary) {
72 | message("..outputting.")
73 | }
74 | list(des = des,
75 | opchar = comp$opchar,
76 | pmf_N = comp$pmf_N,
77 | summary = summary,
78 | tau = tau)
79 |
80 | }
81 |
--------------------------------------------------------------------------------
/R/opchar_gs_bern.R:
--------------------------------------------------------------------------------
1 | #' Analytically determine the operating characteristics of a multi-stage
2 | #' group-sequential multi-arm clinical trial for a Bernoulli distributed primary
3 | #' outcome
4 | #'
5 | #' \code{opchar_gs_bern()} determines the operating characteristics of a
6 | #' specified multi-stage group-sequential multi-arm clinical trial design
7 | #' assuming the primary outcome variable is Bernoulli distributed, for given
8 | #' values of the true treatment effects, using multivariate normal integration.
9 | #'
10 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_gs_bern"}, as
11 | #' returned by \code{\link{build_gs_bern}} or \code{\link{des_gs_bern}} (i.e., a
12 | #' multi-stage group-sequential multi-arm clinical trial design for a Bernoulli
13 | #' distributed outcome). Defaults to \code{des_gs_bern()}.
14 | #' @param pi A \code{\link{matrix}} whose rows indicate values of
15 | #' \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}} at which to
16 | #' evaluate the operating characteristics. Defaults internally to the global
17 | #' null, global alternative, and each of the least favourable configurations,
18 | #' for the specified design \code{des}.
19 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
20 | #' of the function's progress should be printed to the console. Defaults to
21 | #' \code{FALSE}.
22 | #' @return A \code{\link{list}} containing the following elements
23 | #' \itemize{
24 | #' \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
25 | #' operating characteristics.
26 | #' \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
27 | #' probability mass functions of the random required sample size.
28 | #' \item Each of the input variables.
29 | #' }
30 | #' @examples
31 | #' # The operating characteristics for the default parameters
32 | #' opchar <- opchar_gs_bern()
33 | #' @seealso \code{\link{build_gs_bern}}, \code{\link{des_gs_bern}},
34 | #' \code{\link{plot.multiarm_des_gs_bern}}, \code{\link{sim_gs_bern}}.
35 | #' @export
36 | opchar_gs_bern <- function(des = des_gs_bern(), pi, summary = FALSE) {
37 |
38 | ##### Check input variables ##################################################
39 |
40 | #check_multiarm_des_gs_bern(des)
41 | pi <- check_pi(pi, des)
42 | check_logical(summary, "summary")
43 |
44 | ##### Print summary ##########################################################
45 |
46 | if (summary) {
47 | #summary_opchar_gs_bern(des, pi, "bern")
48 | message("")
49 | }
50 |
51 | ##### Perform main computations ##############################################
52 |
53 | if (summary) {
54 | message(" Beginning the required calculations..")
55 | }
56 | comp <- components_gs_init(des$alpha, des$beta, des$delta0, des$delta1,
57 | des$efix, des$eshape, des$ffix, des$fshape,
58 | des$integer, des$J, des$K, des$power, des$ratio,
59 | des$spacing, des$stopping, des$summary, des$type,
60 | pi0 = des$pi0, n_factor = des$n_factor, f = des$f,
61 | e = des$e)
62 | comp <- components_gs_update(comp, pi = pi)
63 | comp <- opchar_gs_internal(comp)
64 | if (summary) {
65 | message("..completed the required calculations.")
66 | message(" Preparing for outputting..")
67 | }
68 |
69 | ##### Outputting #############################################################
70 |
71 | if (summary) {
72 | message("..outputting.")
73 | }
74 | list(des = des,
75 | opchar = comp$opchar,
76 | pi = pi,
77 | pmf_N = comp$pmf_N,
78 | summary = summary)
79 |
80 | }
81 |
--------------------------------------------------------------------------------
/R/opchar_gs_pois.R:
--------------------------------------------------------------------------------
1 | #' Analytically determine the operating characteristics of a multi-stage
2 | #' group-sequential multi-arm clinical trial for a Poisson distributed primary
3 | #' outcome
4 | #'
5 | #' \code{opchar_gs_pois()} determines the operating characteristics of a
6 | #' specified multi-stage group-sequential multi-arm clinical trial design
7 | #' assuming the primary outcome variable is Poisson distributed, for given
8 | #' values of the true treatment effects, using multivariate normal integration.
9 | #'
10 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_gs_pois"}, as
11 | #' returned by \code{\link{build_gs_pois}} or \code{\link{des_gs_pois}} (i.e., a
12 | #' multi-stage group-sequential multi-arm clinical trial design for a Poisson
13 | #' distributed outcome). Defaults to \code{des_gs_pois()}.
14 | #' @param lambda A \code{\link{matrix}} whose rows indicate values of
15 | #' \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}} at which to
16 | #' evaluate the operating characteristics. Defaults internally to the global
17 | #' null, global alternative, and each of the least favourable configurations,
18 | #' for the specified design \code{des}.
19 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
20 | #' of the function's progress should be printed to the console. Defaults to
21 | #' \code{FALSE}.
22 | #' @return A \code{\link{list}} containing the following elements
23 | #' \itemize{
24 | #' \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
25 | #' operating characteristics.
26 | #' \item A \code{\link{tibble}} in the slot \code{$pmf_N} giving the determined
27 | #' probability mass functions of the random required sample size.
28 | #' \item Each of the input variables.
29 | #' }
30 | #' @examples
31 | #' # The operating characteristics for the default parameters
32 | #' opchar <- opchar_gs_pois()
33 | #' @seealso \code{\link{build_gs_pois}}, \code{\link{des_gs_pois}},
34 | #' \code{\link{plot.multiarm_des_gs_pois}}, \code{\link{sim_gs_pois}}.
35 | #' @export
36 | opchar_gs_pois <- function(des = des_gs_pois(), lambda, summary = FALSE) {
37 |
38 | ##### Check input variables ##################################################
39 |
40 | #check_multiarm_des_gs_pois(des)
41 | lambda <- check_lambda(lambda, des)
42 | check_logical(summary, "summary")
43 |
44 | ##### Print summary ##########################################################
45 |
46 | if (summary) {
47 | #summary_opchar_gs_pois(des, lambda, "pois")
48 | message("")
49 | }
50 |
51 | ##### Perform main computations ##############################################
52 |
53 | if (summary) {
54 | message(" Beginning the required calculations..")
55 | }
56 | comp <- components_gs_init(des$alpha, des$beta, des$delta0, des$delta1,
57 | des$efix, des$eshape, des$ffix, des$fshape,
58 | des$integer, des$J, des$K, des$power, des$ratio,
59 | des$spacing, des$stopping, des$summary, des$type,
60 | lambda0 = des$lambda0, n_factor = des$n_factor,
61 | f = des$f, e = des$e)
62 | comp <- components_gs_update(comp, lambda = lambda)
63 | comp <- opchar_gs_internal(comp)
64 | if (summary) {
65 | message("..completed the required calculations.")
66 | message(" Preparing for outputting..")
67 | }
68 |
69 | ##### Outputting #############################################################
70 |
71 | if (summary) {
72 | message("..outputting.")
73 | }
74 | list(des = des,
75 | lambda = lambda,
76 | opchar = comp$opchar,
77 | pmf_N = comp$pmf_N,
78 | summary = summary)
79 |
80 | }
81 |
--------------------------------------------------------------------------------
/docs/pkgdown.js:
--------------------------------------------------------------------------------
1 | /* http://gregfranko.com/blog/jquery-best-practices/ */
2 | (function($) {
3 | $(function() {
4 |
5 | $('.navbar-fixed-top').headroom();
6 |
7 | $('body').css('padding-top', $('.navbar').height() + 10);
8 | $(window).resize(function(){
9 | $('body').css('padding-top', $('.navbar').height() + 10);
10 | });
11 |
12 | $('[data-toggle="tooltip"]').tooltip();
13 |
14 | var cur_path = paths(location.pathname);
15 | var links = $("#navbar ul li a");
16 | var max_length = -1;
17 | var pos = -1;
18 | for (var i = 0; i < links.length; i++) {
19 | if (links[i].getAttribute("href") === "#")
20 | continue;
21 | // Ignore external links
22 | if (links[i].host !== location.host)
23 | continue;
24 |
25 | var nav_path = paths(links[i].pathname);
26 |
27 | var length = prefix_length(nav_path, cur_path);
28 | if (length > max_length) {
29 | max_length = length;
30 | pos = i;
31 | }
32 | }
33 |
34 | // Add class to parent , and enclosing if in dropdown
35 | if (pos >= 0) {
36 | var menu_anchor = $(links[pos]);
37 | menu_anchor.parent().addClass("active");
38 | menu_anchor.closest("li.dropdown").addClass("active");
39 | }
40 | });
41 |
42 | function paths(pathname) {
43 | var pieces = pathname.split("/");
44 | pieces.shift(); // always starts with /
45 |
46 | var end = pieces[pieces.length - 1];
47 | if (end === "index.html" || end === "")
48 | pieces.pop();
49 | return(pieces);
50 | }
51 |
52 | // Returns -1 if not found
53 | function prefix_length(needle, haystack) {
54 | if (needle.length > haystack.length)
55 | return(-1);
56 |
57 | // Special case for length-0 haystack, since for loop won't run
58 | if (haystack.length === 0) {
59 | return(needle.length === 0 ? 0 : -1);
60 | }
61 |
62 | for (var i = 0; i < haystack.length; i++) {
63 | if (needle[i] != haystack[i])
64 | return(i);
65 | }
66 |
67 | return(haystack.length);
68 | }
69 |
70 | /* Clipboard --------------------------*/
71 |
72 | function changeTooltipMessage(element, msg) {
73 | var tooltipOriginalTitle=element.getAttribute('data-original-title');
74 | element.setAttribute('data-original-title', msg);
75 | $(element).tooltip('show');
76 | element.setAttribute('data-original-title', tooltipOriginalTitle);
77 | }
78 |
79 | if(ClipboardJS.isSupported()) {
80 | $(document).ready(function() {
81 | var copyButton = "";
82 |
83 | $(".examples, div.sourceCode").addClass("hasCopyButton");
84 |
85 | // Insert copy buttons:
86 | $(copyButton).prependTo(".hasCopyButton");
87 |
88 | // Initialize tooltips:
89 | $('.btn-copy-ex').tooltip({container: 'body'});
90 |
91 | // Initialize clipboard:
92 | var clipboardBtnCopies = new ClipboardJS('[data-clipboard-copy]', {
93 | text: function(trigger) {
94 | return trigger.parentNode.textContent;
95 | }
96 | });
97 |
98 | clipboardBtnCopies.on('success', function(e) {
99 | changeTooltipMessage(e.trigger, 'Copied!');
100 | e.clearSelection();
101 | });
102 |
103 | clipboardBtnCopies.on('error', function() {
104 | changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy');
105 | });
106 | });
107 | }
108 | })(window.jQuery || window.$)
109 |
--------------------------------------------------------------------------------
/R/opchar_ss_norm.R:
--------------------------------------------------------------------------------
1 | #' Analytically determine the operating characteristics of a single-stage
2 | #' multi-arm clinical trial for a normally distributed primary outcome
3 | #'
4 | #' \code{opchar_ss_norm()} determines the operating characteristics of a
5 | #' specified single-stage multi-arm clinical trial design assuming the primary
6 | #' outcome variable is normally distributed, for given values of the true
7 | #' treatment effects, using multivariate normal integration.
8 | #'
9 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_ss_norm"}, as
10 | #' returned by \code{\link{build_ss_norm}} or \code{\link{des_ss_norm}} (i.e., a
11 | #' single-stage multi-arm clinical trial design for a normally distributed
12 | #' outcome). Defaults to \code{des_ss_norm()}.
13 | #' @param tau A \code{\link{matrix}} whose rows indicate values of
14 | #' \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}} at which to
15 | #' evaluate the operating characteristics. Defaults internally to the global
16 | #' null, global alternative, and each of the least favourable configurations,
17 | #' for the specified design \code{des}.
18 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
19 | #' of the function's progress should be printed to the console. Defaults to
20 | #' \code{FALSE}.
21 | #' @return A \code{\link{list}} containing the following elements
22 | #' \itemize{
23 | #' \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
24 | #' operating characteristics.
25 | #' \item Each of the input variables.
26 | #' }
27 | #' @examples
28 | #' # The operating characteristics for the default parameters
29 | #' opchar <- opchar_ss_norm()
30 | #' # An A-optimal design
31 | #' des_A <- des_ss_norm(ratio = "A")
32 | #' opchar_A <- opchar_ss_norm(des_A)
33 | #' # Using the root-K allocation rule, modifying the desired type of power and
34 | #' # chosen multiple comparison correction, and specifying tau explicitly
35 | #' des_root_K <- des_ss_norm(ratio = rep(1/sqrt(2), 2),
36 | #' correction = "holm_bonferroni",
37 | #' power = "disjunctive")
38 | #' opchar_root_K <- opchar_ss_norm(des_root_K, rbind(c(0, 0),
39 | #' c(0.5, 0.5),
40 | #' c(0.5, 0),
41 | #' c(0, 0.5)))
42 | #' @seealso \code{\link{build_ss_norm}}, \code{\link{des_ss_norm}},
43 | #' \code{\link{plot.multiarm_des_ss_norm}}, \code{\link{sim_ss_norm}}.
44 | #' @export
45 | opchar_ss_norm <- function(des = des_ss_norm(), tau, summary = FALSE) {
46 |
47 | ##### Check input variables ##################################################
48 |
49 | check_multiarm_des_ss_norm(des)
50 | tau <- check_tau(tau, des)
51 | check_logical(summary, "summary")
52 |
53 | ##### Print summary ##########################################################
54 |
55 | if (summary) {
56 | summary_opchar_ss(des, tau, "norm")
57 | message("")
58 | }
59 |
60 | ##### Perform main computations ##############################################
61 |
62 | if (summary) {
63 | message(" Beginning the required calculations..")
64 | }
65 | comp <- components_ss_norm(des$alpha, des$beta, des$correction,
66 | des$delta0, des$delta1, des$integer,
67 | des$K, des$power, des$ratio, des$sigma,
68 | des$n)
69 | comp$tau <- tau
70 | comp$nrow_tau <- nrow(tau)
71 | comp <- components_ss_update(comp)
72 | comp <- opchar_ss_internal(comp)
73 | if (summary) {
74 | message("..completed the required calculations.")
75 | message(" Preparing for outputting..")
76 | }
77 |
78 | ##### Outputting #############################################################
79 |
80 | if (summary) {
81 | message("..outputting.")
82 | }
83 | list(des = des,
84 | opchar = comp$opchar,
85 | summary = summary,
86 | tau = tau)
87 |
88 | }
89 |
--------------------------------------------------------------------------------
/R/opchar_ss_bern.R:
--------------------------------------------------------------------------------
1 | #' Analytically determine the operating characteristics of a single-stage
2 | #' multi-arm clinical trial for a Bernoulli distributed primary outcome
3 | #'
4 | #' \code{opchar_ss_bern()} determines the operating characteristics of a
5 | #' specified single-stage multi-arm clinical trial design assuming the primary
6 | #' outcome variable is Bernoulli distributed, for given values of the true
7 | #' treatment effects, using multivariate normal integration.
8 | #'
9 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_ss_bern"}, as
10 | #' returned by \code{\link{des_ss_bern}} (i.e., a single-stage multi-arm
11 | #' clinical trial design for a Poisson distributed outcome). Defaults to
12 | #' \code{des_ss_bern()}.
13 | #' @param pi A \code{\link{matrix}} whose rows indicate values of
14 | #' \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}} at which to
15 | #' evaluate the operating characteristics. Defaults internally to the global
16 | #' null, global alternative, and each of the least favourable configurations,
17 | #' for the specified design \code{des}.
18 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
19 | #' of the function's progress should be printed to the console. Defaults to
20 | #' \code{FALSE}.
21 | #' @return A \code{\link{list}} containing the following elements
22 | #' \itemize{
23 | #' \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
24 | #' operating characteristics.
25 | #' \item Each of the input variables.
26 | #' }
27 | #' @examples
28 | #' # The operating characteristics for the default parameters
29 | #' opchar <- opchar_ss_bern()
30 | #' # An A-optimal design
31 | #' des_A <- des_ss_bern(ratio = "A")
32 | #' opchar_A <- opchar_ss_bern(des_A)
33 | #' # Using the root-K allocation rule, modifying the desired type of power and
34 | #' # chosen multiple comparison correction, and specifying pi explicitly
35 | #' des_root_K <- des_ss_bern(ratio = rep(1/sqrt(2), 2),
36 | #' correction = "holm_bonferroni",
37 | #' power = "disjunctive")
38 | #' opchar_root_K <- opchar_ss_bern(des_root_K, rbind(c(0.3, 0.3, 0.3),
39 | #' c(0.3, 0.5, 0.5),
40 | #' c(0.3, 0.5, 0.3),
41 | #' c(0.3, 0.3, 0.5)))
42 | #' @seealso \code{\link{build_ss_bern}}, \code{\link{des_ss_bern}},
43 | #' \code{\link{plot.multiarm_des_ss_bern}}, \code{\link{sim_ss_bern}}.
44 | #' @export
45 | opchar_ss_bern <- function(des = des_ss_bern(), pi, summary = FALSE) {
46 |
47 | ##### Check input variables ##################################################
48 |
49 | check_multiarm_des_ss_bern(des)
50 | pi <- check_pi(pi, des)
51 | check_logical(summary, "summary")
52 |
53 | ##### Print summary ##########################################################
54 |
55 | if (summary) {
56 | summary_opchar_ss(des, pi, "bern")
57 | message("")
58 | }
59 |
60 | ##### Perform main computations ##############################################
61 |
62 | if (summary) {
63 | message(" Beginning the required calculations..")
64 | }
65 | comp <- components_ss_bern(des$alpha, des$beta, des$correction,
66 | des$delta0, des$delta1, des$integer,
67 | des$K, des$pi0, des$power, des$ratio,
68 | des$ratio_scenario, des$n)
69 | comp$pi <- pi
70 | comp$tau <- pi[, -1] - des$pi0
71 | comp$nrow_tau <- comp$nrow_pi <- nrow(pi)
72 | comp <- components_ss_update(comp)
73 | comp <- opchar_ss_internal(comp)
74 | if (summary) {
75 | message("..completed the required calculations.")
76 | message(" Preparing for outputting..")
77 | }
78 |
79 | ##### Outputting #############################################################
80 |
81 | if (summary) {
82 | message("..outputting.")
83 | }
84 | list(des = des,
85 | opchar = comp$opchar,
86 | pi = pi,
87 | summary = summary)
88 |
89 | }
90 |
--------------------------------------------------------------------------------
/R/opchar_ss_pois.R:
--------------------------------------------------------------------------------
1 | #' Analytically determine the operating characteristics of a single-stage
2 | #' multi-arm clinical trial for a Poisson distributed primary outcome
3 | #'
4 | #' \code{opchar_ss_pois()} determines the operating characteristics of a
5 | #' specified single-stage multi-arm clinical trial design assuming the primary
6 | #' outcome variable is Poisson distributed, for given values of the true
7 | #' treatment effects, using multivariate normal integration.
8 | #'
9 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_ss_pois"}, as
10 | #' returned by \code{\link{des_ss_pois}} (i.e., a single-stage multi-arm
11 | #' clinical trial design for a Poisson distributed outcome). Defaults to
12 | #' \code{des_ss_pois()}.
13 | #' @param lambda A \code{\link{matrix}} whose rows indicate values of
14 | #' \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}} at which to
15 | #' evaluate the operating characteristics. Defaults internally to the global
16 | #' null, global alternative, and each of the least favourable configurations,
17 | #' for the specified design \code{des}.
18 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
19 | #' of the function's progress should be printed to the console. Defaults to
20 | #' \code{FALSE}.
21 | #' @return A \code{\link{list}} containing the following elements
22 | #' \itemize{
23 | #' \item A \code{\link{tibble}} in the slot \code{$opchar} giving the determined
24 | #' operating characteristics.
25 | #' \item Each of the input variables.
26 | #' }
27 | #' @examples
28 | #' # The operating characteristics for the default parameters
29 | #' opchar <- opchar_ss_pois()
30 | #' # An A-optimal design
31 | #' des_A <- des_ss_pois(ratio = "A")
32 | #' opchar_A <- opchar_ss_pois(des_A)
33 | #' # Using the root-K allocation rule, modifying the desired type of power and
34 | #' # chosen multiple comparison correction, and specifying lambda explicitly
35 | #' des_root_K <- des_ss_pois(ratio = rep(1/sqrt(2), 2),
36 | #' correction = "holm_bonferroni",
37 | #' power = "disjunctive")
38 | #' opchar_root_K <- opchar_ss_pois(des_root_K, rbind(c(0.3, 0.3, 0.3),
39 | #' c(0.3, 0.5, 0.5),
40 | #' c(0.3, 0.5, 0.3),
41 | #' c(0.3, 0.3, 0.5)))
42 | #' @seealso \code{\link{build_ss_pois}}, \code{\link{des_ss_pois}},
43 | #' \code{\link{plot.multiarm_des_ss_pois}}, \code{\link{sim_ss_pois}}.
44 | #' @export
45 | opchar_ss_pois <- function(des = des_ss_pois(), lambda, summary = FALSE) {
46 |
47 | ##### Check input variables ##################################################
48 |
49 | check_multiarm_des_ss_pois(des)
50 | lambda <- check_lambda(lambda, des)
51 | check_logical(summary, "summary")
52 |
53 | ##### Print summary ##########################################################
54 |
55 | if (summary) {
56 | summary_opchar_ss(des, lambda, "pois")
57 | message("")
58 | }
59 |
60 | ##### Perform main computations ##############################################
61 |
62 | if (summary) {
63 | message(" Beginning the required calculations..")
64 | }
65 | comp <- components_ss_pois(des$alpha, des$beta, des$correction,
66 | des$delta0, des$delta1, des$integer,
67 | des$K, des$lambda0, des$power, des$ratio,
68 | des$ratio_scenario, des$n)
69 | comp$lambda <- lambda
70 | comp$tau <- lambda[, -1] - des$lambda0
71 | comp$nrow_tau <- comp$nrow_lambda <- nrow(lambda)
72 | comp <- components_ss_update(comp)
73 | comp <- opchar_ss_internal(comp)
74 | if (summary) {
75 | message("..completed the required calculations.")
76 | message(" Preparing for outputting..")
77 | }
78 |
79 | ##### Outputting #############################################################
80 |
81 | if (summary) {
82 | message("..outputting.")
83 | }
84 | list(des = des,
85 | lambda = lambda,
86 | opchar = comp$opchar,
87 | summary = summary)
88 |
89 | }
90 |
--------------------------------------------------------------------------------
/R/sim_dtl_bern.R:
--------------------------------------------------------------------------------
1 | #' Empirically determine the operating characteristics of a multi-stage
2 | #' drop-the-losers multi-arm clinical trial for a Bernoulli distributed primary
3 | #' outcome
4 | #'
5 | #' \code{sim_dtl_bern()} determines the operating characteristics of a specified
6 | #' multi-stage drop-the-losers multi-arm clinical trial design assuming the
7 | #' primary outcome is Bernoulli distributed, for given values of the true
8 | #' treatment effects, using simulation.
9 | #'
10 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_dtl_bern"}, as
11 | #' returned by \code{\link{build_dtl_bern}} or \code{\link{des_dtl_bern}} (i.e.,
12 | #' a multi-stage drop-the-losers multi-arm clinical trial design for a Bernoulli
13 | #' distributed outcome). \strong{Note:} The sample sizes in all arms must be
14 | #' whole numbers. Defaults to \code{des_dtl_bern(integer = TRUE)}.
15 | #' @param pi A \code{\link{matrix}} whose rows indicate values of
16 | #' \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}} at which to
17 | #' evaluate the operating characteristics. Defaults internally to the global
18 | #' null, global alternative, and each of the least favourable configurations if
19 | #' unspecified.
20 | #' @param replicates A \code{\link{numeric}} indicating the number of replicate
21 | #' simulations to use for each value of
22 | #' \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}}. Defaults to
23 | #' \code{1e5}.
24 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
25 | #' of the function's progress should be printed to the console. Defaults to
26 | #' \code{FALSE}.
27 | #' @return A \code{\link{list}} containing the following elements
28 | #' \itemize{
29 | #' \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
30 | #' operating characteristics.
31 | #' \item Each of the input variables.
32 | #' }
33 | #' @examples
34 | #' \dontrun{
35 | #' # The estimated operating characteristics for the default parameters
36 | #' sim <- sim_dtl_bern()
37 | #' }
38 | #' @seealso \code{\link{build_dtl_bern}}, \code{\link{des_dtl_bern}},
39 | #' \code{\link{opchar_dtl_bern}}, \code{\link{plot.multiarm_des_dtl_bern}}.
40 | #' @export
41 | sim_dtl_bern <- function(des = des_dtl_bern(integer = TRUE), pi,
42 | replicates = 1e5, summary = FALSE) {
43 |
44 | ##### Check input variables ##################################################
45 |
46 | #check_multiarm_des_dtl_bern(des, T)
47 | pi <- check_pi(pi, des)
48 | replicates <- as.numeric(check_integer_range(replicates, "replicates",
49 | c(0, Inf), 1))
50 | check_logical(summary, "summary")
51 |
52 | ##### Print summary ##########################################################
53 |
54 | if (summary) {
55 | #summary_sim_dtl(des, pi, replicates, "bern")
56 | message("")
57 | }
58 |
59 | ##### Perform main computations ##############################################
60 |
61 | if (summary) {
62 | message(" Beginning the required simulations..")
63 | }
64 | nrow_pi <- nrow(pi)
65 | total_replicates <- nrow_pi*replicates
66 | sim <- matrix(0, nrow_pi, 4*des$Kv[1] + 14)
67 | for (i in 1:nrow_pi) {
68 | sim[i, ] <-
69 | sim_dtl_bern_internal(pi[i, ], (i - 1)*replicates, des$n_factor, des$e,
70 | des$Kv, des$ratio, des$type, des$spacing,
71 | replicates, summary, total_replicates)
72 | }
73 | seq_K <- 1:des$Kv[1]
74 | colnames(sim) <- c(paste0("pi", c(0, seq_K)), "Pdis", "Pcon",
75 | paste0("P", seq_K), paste0("FWERI", seq_K),
76 | paste0("FWERII", seq_K), "PHER", "FDR", "pFDR", "FNDR",
77 | "Sens", "Spec", "ESS", "SDSS", "MeSS", "MoSS", "maxN")
78 | sim <- tibble::as_tibble(sim, .name_repair = "minimal")
79 | if (summary) {
80 | message("..completed the required simulations.")
81 | message(" Preparing for outputting..")
82 | }
83 |
84 | ##### Outputting #############################################################
85 |
86 | if (summary) {
87 | message("..outputting.")
88 | }
89 | list(des = des,
90 | pi = pi,
91 | replicates = replicates,
92 | sim = sim,
93 | summary = summary)
94 |
95 | }
96 |
--------------------------------------------------------------------------------
/R/sim_gs_bern.R:
--------------------------------------------------------------------------------
1 | #' Empirically determine the operating characteristics of a multi-stage
2 | #' group-sequential multi-arm clinical trial for a Bernoulli distributed primary
3 | #' outcome
4 | #'
5 | #' \code{sim_gs_bern()} determines the operating characteristics of a specified
6 | #' multi-stage group-sequential multi-arm clinical trial design assuming the
7 | #' primary outcome is Bernoulli distributed, for given values of the true
8 | #' treatment effects, using simulation.
9 | #'
10 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_gs_bern"}, as
11 | #' returned by \code{\link{build_gs_bern}} or \code{\link{des_gs_bern}} (i.e., a
12 | #' multi-stage group-sequential multi-arm clinical trial design for a Bernoulli
13 | #' distributed outcome). \strong{Note:} The sample sizes in all arms must be
14 | #' whole numbers. Defaults to \code{des_gs_bern(integer = TRUE)}.
15 | #' @param pi A \code{\link{matrix}} whose rows indicate values of
16 | #' \ifelse{html}{\out{π}}{\eqn{\bold{\pi}}} at which to
17 | #' evaluate the operating characteristics. Defaults internally to the global
18 | #' null, global alternative, and each of the least favourable configurations if
19 | #' unspecified.
20 | #' @param replicates A \code{\link{numeric}} indicating the number of replicate
21 | #' simulations to use for each value of
22 | #' \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}}. Defaults to
23 | #' \code{1e5}.
24 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
25 | #' of the function's progress should be printed to the console. Defaults to
26 | #' \code{FALSE}.
27 | #' @return A \code{\link{list}} containing the following elements
28 | #' \itemize{
29 | #' \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
30 | #' operating characteristics.
31 | #' \item Each of the input variables.
32 | #' }
33 | #' @examples
34 | #' \dontrun{
35 | #' # The estimated operating characteristics for the default parameters
36 | #' sim <- sim_gs_bern()
37 | #' }
38 | #' @seealso \code{\link{build_gs_bern}}, \code{\link{des_gs_bern}},
39 | #' \code{\link{opchar_gs_bern}}, \code{\link{plot.multiarm_des_gs_bern}}.
40 | #' @export
41 | sim_gs_bern <- function(des = des_gs_bern(integer = TRUE), pi, replicates = 1e5,
42 | summary = FALSE) {
43 |
44 | ##### Check input variables ##################################################
45 |
46 | #check_multiarm_des_gs_bern(des, T)
47 | pi <- check_pi(pi, des)
48 | replicates <- as.numeric(check_integer_range(replicates, "replicates",
49 | c(0, Inf), 1))
50 | check_logical(summary, "summary")
51 |
52 | ##### Print summary ##########################################################
53 |
54 | if (summary) {
55 | #summary_sim_gs(des, pi, replicates, "bern")
56 | message("")
57 | }
58 |
59 | ##### Perform main computations ##############################################
60 |
61 | if (summary) {
62 | message(" Beginning the required simulations..")
63 | }
64 | nrow_pi <- nrow(pi)
65 | total_replicates <- nrow_pi*replicates
66 | sim <- matrix(0, nrow_pi, 4*des$K + 14)
67 | for (i in 1:nrow_pi) {
68 | sim[i, ] <-
69 | sim_gs_bern_internal(pi[i, ], (i - 1)*replicates, des$n_factor, des$e,
70 | des$f, des$ratio, des$spacing, des$stopping,
71 | des$type, replicates, des$K, des$J, summary,
72 | total_replicates)
73 | }
74 | seq_K <- 1:des$K
75 | colnames(sim) <- c(paste0("pi", c(0, seq_K)), "Pdis", "Pcon",
76 | paste0("P", seq_K), paste0("FWERI", seq_K),
77 | paste0("FWERII", seq_K), "PHER", "FDR", "pFDR", "FNDR",
78 | "Sens", "Spec", "ESS", "SDSS", "MeSS", "MoSS", "maxN")
79 | sim <- tibble::as_tibble(sim, .name_repair = "minimal")
80 | if (summary) {
81 | message("..completed the required simulations.")
82 | message(" Preparing for outputting..")
83 | }
84 |
85 | ##### Outputting #############################################################
86 |
87 | if (summary) {
88 | message("..outputting.")
89 | }
90 | list(des = des,
91 | pi = pi,
92 | replicates = replicates,
93 | sim = sim,
94 | summary = summary)
95 |
96 | }
97 |
--------------------------------------------------------------------------------
/R/sim_dtl_pois.R:
--------------------------------------------------------------------------------
1 | #' Empirically determine the operating characteristics of a multi-stage
2 | #' drop-the-losers multi-arm clinical trial for a Poisson distributed primary
3 | #' outcome
4 | #'
5 | #' \code{sim_dtl_pois()} determines the operating characteristics of a specified
6 | #' multi-stage drop-the-losers multi-arm clinical trial design assuming the
7 | #' primary outcome is Poisson distributed, for given values of the true
8 | #' treatment effects, using simulation.
9 | #'
10 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_dtl_pois"}, as
11 | #' returned by \code{\link{build_dtl_pois}} or \code{\link{des_dtl_pois}} (i.e.,
12 | #' a multi-stage drop-the-losers multi-arm clinical trial design for a Poisson
13 | #' distributed outcome). \strong{Note:} The sample sizes in all arms must be
14 | #' whole numbers. Defaults to \code{des_dtl_pois(integer = TRUE)}.
15 | #' @param lambda A \code{\link{matrix}} whose rows indicate values of
16 | #' \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}} at which to
17 | #' evaluate the operating characteristics. Defaults internally to the global
18 | #' null, global alternative, and each of the least favourable configurations if
19 | #' unspecified.
20 | #' @param replicates A \code{\link{numeric}} indicating the number of replicate
21 | #' simulations to use for each value of
22 | #' \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}}. Defaults to
23 | #' \code{1e5}.
24 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
25 | #' of the function's progress should be printed to the console. Defaults to
26 | #' \code{FALSE}.
27 | #' @return A \code{\link{list}} containing the following elements
28 | #' \itemize{
29 | #' \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
30 | #' operating characteristics.
31 | #' \item Each of the input variables.
32 | #' }
33 | #' @examples
34 | #' \dontrun{
35 | #' # The estimated operating characteristics for the default parameters
36 | #' sim <- sim_dtl_pois()
37 | #' }
38 | #' @seealso \code{\link{build_dtl_pois}}, \code{\link{des_dtl_pois}},
39 | #' \code{\link{opchar_dtl_pois}}, \code{\link{plot.multiarm_des_dtl_pois}}.
40 | #' @export
41 | sim_dtl_pois <- function(des = des_dtl_pois(integer = TRUE), lambda,
42 | replicates = 1e5, summary = FALSE) {
43 |
44 | ##### Check input variables ##################################################
45 |
46 | #check_multiarm_des_dtl_pois(des, T)
47 | lambda <- check_lambda(lambda, des)
48 | replicates <- as.numeric(check_integer_range(replicates, "replicates",
49 | c(0, Inf), 1))
50 | check_logical(summary, "summary")
51 |
52 | ##### Print summary ##########################################################
53 |
54 | if (summary) {
55 | #summary_sim_dtl(des, lambda, replicates, "pois")
56 | message("")
57 | }
58 |
59 | ##### Perform main computations ##############################################
60 |
61 | if (summary) {
62 | message(" Beginning the required simulations..")
63 | }
64 | nrow_lambda <- nrow(lambda)
65 | total_replicates <- nrow_lambda*replicates
66 | sim <- matrix(0, nrow_lambda, 4*des$Kv[1] + 14)
67 | for (i in 1:nrow_lambda) {
68 | sim[i, ] <-
69 | sim_dtl_pois_internal(lambda[i, ], (i - 1)*replicates, des$n_factor, des$e,
70 | des$Kv, des$ratio, des$type, des$spacing,
71 | replicates, summary, total_replicates)
72 | }
73 | seq_K <- 1:des$Kv[1]
74 | colnames(sim) <- c(paste0("lambda", c(0, seq_K)), "Pdis", "Pcon",
75 | paste0("P", seq_K), paste0("FWERI", seq_K),
76 | paste0("FWERII", seq_K), "PHER", "FDR", "pFDR", "FNDR",
77 | "Sens", "Spec", "ESS", "SDSS", "MeSS", "MoSS", "maxN")
78 | sim <- tibble::as_tibble(sim, .name_repair = "minimal")
79 | if (summary) {
80 | message("..completed the required simulations.")
81 | message(" Preparing for outputting..")
82 | }
83 |
84 | ##### Outputting #############################################################
85 |
86 | if (summary) {
87 | message("..outputting.")
88 | }
89 | list(des = des,
90 | lambda = lambda,
91 | replicates = replicates,
92 | sim = sim,
93 | summary = summary)
94 |
95 | }
96 |
--------------------------------------------------------------------------------
/R/sim_gs_pois.R:
--------------------------------------------------------------------------------
1 | #' Empirically determine the operating characteristics of a multi-stage
2 | #' group-sequential multi-arm clinical trial for a Poisson distributed primary
3 | #' outcome
4 | #'
5 | #' \code{sim_gs_pois()} determines the operating characteristics of a specified
6 | #' multi-stage group-sequential multi-arm clinical trial design assuming the
7 | #' primary outcome is Poisson distributed, for given values of the true
8 | #' treatment effects, using simulation.
9 | #'
10 | #' @param des A \code{\link{list}} of class \code{"multiarm_des_gs_pois"}, as
11 | #' returned by \code{\link{build_gs_pois}} or \code{\link{des_gs_pois}} (i.e., a
12 | #' multi-stage group-sequential multi-arm clinical trial design for a Poisson
13 | #' distributed outcome). \strong{Note:} The sample sizes in all arms must be
14 | #' whole numbers. Defaults to \code{des_gs_pois(integer = TRUE)}.
15 | #' @param lambda A \code{\link{matrix}} whose rows indicate values of
16 | #' \ifelse{html}{\out{λ}}{\eqn{\bold{\lambda}}} at which to
17 | #' evaluate the operating characteristics. Defaults internally to the global
18 | #' null, global alternative, and each of the least favourable configurations if
19 | #' unspecified.
20 | #' @param replicates A \code{\link{numeric}} indicating the number of replicate
21 | #' simulations to use for each value of
22 | #' \ifelse{html}{\out{τ}}{\eqn{\bold{\tau}}}. Defaults to
23 | #' \code{1e5}.
24 | #' @param summary A \code{\link{logical}} variable indicating whether a summary
25 | #' of the function's progress should be printed to the console. Defaults to
26 | #' \code{FALSE}.
27 | #' @return A \code{\link{list}} containing the following elements
28 | #' \itemize{
29 | #' \item A \code{\link{tibble}} in the slot \code{$sim} giving the estimated
30 | #' operating characteristics.
31 | #' \item Each of the input variables.
32 | #' }
33 | #' @examples
34 | #' \dontrun{
35 | #' # The estimated operating characteristics for the default parameters
36 | #' sim <- sim_gs_pois()
37 | #' }
38 | #' @seealso \code{\link{build_gs_pois}}, \code{\link{des_gs_pois}},
39 | #' \code{\link{opchar_gs_pois}}, \code{\link{plot.multiarm_des_gs_pois}}.
40 | #' @export
41 | sim_gs_pois <- function(des = des_gs_pois(integer = TRUE), lambda,
42 | replicates = 1e5, summary = FALSE) {
43 |
44 | ##### Check input variables ##################################################
45 |
46 | #check_multiarm_des_gs_pois(des, T)
47 | lambda <- check_lambda(lambda, des)
48 | replicates <- as.numeric(check_integer_range(replicates, "replicates",
49 | c(0, Inf), 1))
50 | check_logical(summary, "summary")
51 |
52 | ##### Print summary ##########################################################
53 |
54 | if (summary) {
55 | #summary_sim_gs(des, lambda, replicates, "pois")
56 | message("")
57 | }
58 |
59 | ##### Perform main computations ##############################################
60 |
61 | if (summary) {
62 | message(" Beginning the required simulations..")
63 | }
64 | nrow_lambda <- nrow(lambda)
65 | total_replicates <- nrow_lambda*replicates
66 | sim <- matrix(0, nrow_lambda, 4*des$K + 14)
67 | for (i in 1:nrow_lambda) {
68 | sim[i, ] <-
69 | sim_gs_pois_internal(lambda[i, ], (i - 1)*replicates, des$n_factor, des$e,
70 | des$f, des$ratio, des$spacing, des$stopping,
71 | des$type, replicates, des$K, des$J, summary,
72 | total_replicates)
73 | }
74 | seq_K <- 1:des$K
75 | colnames(sim) <- c(paste0("lambda", c(0, seq_K)), "Pdis", "Pcon",
76 | paste0("P", seq_K), paste0("FWERI", seq_K),
77 | paste0("FWERII", seq_K), "PHER", "FDR", "pFDR", "FNDR",
78 | "Sens", "Spec", "ESS", "SDSS", "MeSS", "MoSS", "maxN")
79 | sim <- tibble::as_tibble(sim, .name_repair = "minimal")
80 | if (summary) {
81 | message("..completed the required simulations.")
82 | message(" Preparing for outputting..")
83 | }
84 |
85 | ##### Outputting #############################################################
86 |
87 | if (summary) {
88 | message("..outputting.")
89 | }
90 | list(des = des,
91 | lambda = lambda,
92 | replicates = replicates,
93 | sim = sim,
94 | summary = summary)
95 |
96 | }
97 |
--------------------------------------------------------------------------------
/man/multiarm.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/multiarm.R
3 | \docType{package}
4 | \name{multiarm}
5 | \alias{multiarm}
6 | \title{multiarm: Design of single- and multi-stage multi-arm clinical trials}
7 | \description{
8 | \strong{multiarm} provides functions to assist with the design of
9 | single- and multi-stage multi-arm clinical trials. In both cases the
10 | available functions allow for sample size determination, trial simulation,
11 | analytical operating characteristic calculation, and the production of
12 | several informative plots. An R Shiny graphical user interface is also
13 | provided to aid design determination. Further details on single-stage design
14 | can be found in Grayling and Wason (2020).
15 | }
16 | \section{Getting started}{
17 |
18 |
19 | You can install the latest development version of \strong{multiarm} from
20 | \href{https://github.com/}{Github} with:
21 |
22 | \code{devtools::install_github("mjg211/multiarm")}
23 |
24 | An introductory example of how to make use of the package's core
25 | functionality can be found \href{https://github.com/mjg211/multiarm}{here}.
26 | More detailed support is available in the package vignette, which can be
27 | accessed with \code{vignette("multiarm")}. For further help, please email
28 | \email{michael.grayling@newcastle.ac.uk}.
29 | }
30 |
31 | \section{Details}{
32 |
33 |
34 | In total, 46 functions are currently available. Their naming conventions are
35 | such that several character strings are joined together, separated by
36 | underscores. The first string indicates the purpose of the function (i.e.,
37 | what type of calculation it performs):
38 |
39 | \itemize{
40 | \item \code{build_###_###()}: Build multi-arm clinical trial design objects,
41 | like those returned by the \code{des_###_###()} functions. For use when a
42 | specific design is of interest.
43 | \item \code{des_###_###()}: Determine the sample size required by a
44 | particular type of multi-arm clinical trial design.
45 | \item \code{gui()}: Provides a graphical user interface to design
46 | determination.
47 | \item \code{opchar_###_###()}: Determine the operating characteristics
48 | (power, family-wise error-rates, etc.) of a supplied multi-arm clinical trial
49 | design, via multivariate normal integration.
50 | \item \code{plot.multiarm_des_###_###()}: Produce informative plots (power,
51 | false discovery rate curves, etc.) relating to a supplied multi-arm clinical
52 | trial design.
53 | \item \code{sim_###_###()}: Empirically estimate the operating
54 | characteristics (power, family-wise error-rates, etc.) of a supplied
55 | multi-arm clinical trial design, via simulation.
56 | }
57 |
58 | The second indicates the design:
59 |
60 | \itemize{
61 | \item \code{###_dtl_###()}: Relate to multi-stage drop-the-losers designs.
62 | See, e.g.,
63 | \href{https://doi.org/10.1177/0962280214550759}{Wason \emph{et al} (2017)}.
64 | \item \code{###_gs_###()}: Relate to group-sequential multi-arm multi-stage
65 | designs. See, e.g.,
66 | \href{https://doi.org/10.1093/biomet/ass002}{Magirr \emph{et al} (2012)}.
67 | \item \code{###_ss_###()}: Relate to single-stage designs. See, e.g.,
68 | \href{https://doi.org/10.1186/s12885-020-6525-0}{Grayling and Wason (2020)}.
69 | }
70 |
71 | The third indicates what type of outcome the function is for:
72 |
73 | \itemize{
74 | \item \code{###_###_bern()}: Assume a Bernoulli distributed primary outcome.
75 | \item \code{###_###_norm()}: Assume a normally distributed primary outcome.
76 | \item \code{###_###_pois()}: Assume a Poisson distributed primary outcome.
77 | }
78 | }
79 |
80 | \section{References}{
81 |
82 | Grayling MJ, Wason JMS (2020) A web application for the design of multi-arm
83 | clinical trials. \emph{BMC Cancer} \strong{20:}80. DOI:
84 | \href{https://doi.org/10.1186/s12885-020-6525-0}{10.1186/s12885-020-6525-0}.
85 | PMID: \href{https://www.ncbi.nlm.nih.gov/pubmed/32005187}{32005187}.
86 |
87 | Magirr D, Jaki T, Whitehead J (2012) A generalized Dunnett test for multi-arm
88 | multi-stage clinical studies with treatment selection. \emph{Biometrika}
89 | \strong{99}(2)\strong{:}494--501.
90 | DOI: \href{https://doi.org/10.1093/biomet/ass002}{10.1093/biomet/ass002}.
91 |
92 | Wason J, Stallard N, Bowden J, Jennison C (2017) A multi-stage
93 | drop-the-losers design for multi-arm clinical trials.
94 | \emph{Stat Meth Med Res} \strong{26}(1)\strong{:}508--524. DOI:
95 | \href{https://doi.org/10.1177/0962280214550759}{10.1177/0962280214550759}.
96 | PMID: \href{https://www.ncbi.nlm.nih.gov/pubmed/25228636}{25228636}.
97 | }
98 |
99 |
--------------------------------------------------------------------------------