| summary.gs_design | R Documentation |
Generate a table summarizing the bounds in the group sequential design
generated by gs_design_ahr(), gs_design_wlr(), or gs_design_combo().
## S3 method for class 'gs_design'
summary(
object,
analysis_vars = NULL,
analysis_decimals = NULL,
col_vars = NULL,
col_decimals = NULL,
bound_names = c("Efficacy", "Futility"),
...
)
object |
An object returned by |
analysis_vars |
The variables to be put at the summary header of each analysis |
analysis_decimals |
The displayed number of digits of |
col_vars |
The variables to be displayed |
col_decimals |
The decimals to be displayed for the displayed variables in |
bound_names |
Names for bounds; default is |
... |
Additional arguments |
A summary table
# ---------------------------- #
# design parameters #
# ---------------------------- #
library(tibble)
library(gsDesign)
library(gsDesign2)
library(dplyr)
# enrollment/failure rates
enrollRates <- tibble(Stratum = "All",
duration = 12,
rate = 1)
failRates <- tibble(Stratum = "All", duration = c(4, 100),
failRate = log(2) / 12,
hr = c(1, .6),
dropoutRate = .001)
# Information fraction
IF <- (1:3)/3
# Analysis times in months; first 2 will be ignored as IF will not be achieved
analysisTimes <- c(.01, .02, 36)
# Experimental / Control randomization ratio
ratio <- 1
# 1-sided Type I error
alpha <- 0.025
# Type II error (1 - power)
beta <- .1
# Upper bound
upper <- gs_spending_bound
upar <- list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL)
# Lower bound
lower <- gs_spending_bound
lpar <- list(sf = gsDesign::sfHSD, total_spend = 0.1, param = 0, timing = NULL)
# weight function in WLR
wgt00 <- function(x, arm0, arm1){wlr_weight_fh(x, arm0, arm1, rho = 0, gamma = 0)}
wgt05 <- function(x, arm0, arm1){wlr_weight_fh(x, arm0, arm1, rho = 0, gamma = .5)}
# test in COMBO
fh_test <- rbind(
data.frame(rho = 0, gamma = 0, tau = -1, test = 1, Analysis = 1:3,analysisTimes = c(12, 24, 36)),
data.frame(rho = c(0, 0.5), gamma = 0.5, tau = -1, test = 2:3, Analysis = 3, analysisTimes = 36)
)
# ---------------------------- #
# ahr #
# ---------------------------- #
x_ahr <- gs_design_ahr(
enrollRates = enrollRates,
failRates = failRates,
IF = IF, # Information fraction
analysisTimes = analysisTimes,
ratio = ratio,
alpha = alpha,
beta = beta,
upper = upper,
upar = upar,
lower = lower,
lpar = lpar)
x_ahr %>% summary()
x_ahr %>% summary(analysis_vars = c("Time", "Events", "IF"), analysis_decimals = c(1, 0, 2))
x_ahr %>% summary(bound_names = c("A is better", "B is better"))
# ---------------------------- #
# wlr #
# ---------------------------- #
x_wlr <- gs_design_wlr(
enrollRates = enrollRates,
failRates = failRates,
weight = wgt05,
IF = NULL,
analysisTimes = sort(unique(x_ahr$analysis$Time)),
ratio = ratio,
alpha = alpha,
beta = beta,
upper = upper,
upar = upar,
lower = lower,
lpar = lpar
)
x_wlr %>% summary()
# ---------------------------- #
# max combo #
# ---------------------------- #
x_combo <- gs_design_combo(
ratio = 1,
alpha = 0.025,
beta = 0.2,
enrollRates = tibble::tibble(Stratum = "All", duration = 12, rate = 500/12),
failRates = tibble::tibble(Stratum = "All", duration = c(4, 100),
failRate = log(2) / 15, hr = c(1, .6), dropoutRate = .001),
fh_test = fh_test,
upper = gs_spending_combo,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025),
lower = gs_spending_combo,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.2))
x_combo %>% summary()
# ---------------------------- #
# risk difference #
# ---------------------------- #
gs_design_rd(
p_c = tibble(Stratum = "All", Rate = .2),
p_e = tibble(Stratum = "All", Rate = .15),
IF = c(0.7, 1),
rd0 = 0,
alpha = .025,
beta = .1,
ratio = 1,
stratum_prev = NULL,
weight = "un-stratified",
upper = gs_b,
lower = gs_b,
upar = gsDesign::gsDesign(k = 3, test.type = 1, sfu = gsDesign::sfLDOF, sfupar = NULL)$upper$bound,
lpar = c(qnorm(.1), rep(-Inf, 2))
) %>% summary()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.