Group sequential design power using MaxCombo test under non-proportional hazards
Source:R/gs_power_combo.R
gs_power_combo.Rd
Group sequential design power using MaxCombo test under non-proportional hazards
Arguments
- enrollRates
enrollment rates
- failRates
failure and dropout rates
- fh_test
a data frame to summarize the test in each analysis. Refer examples for its data structure.
- ratio
Experimental:Control randomization ratio (not yet implemented)
- binding
indicator of whether futility bound is binding; default of FALSE is recommended
- upper
Function to compute upper bound
- upar
Parameter passed to
upper()
- lower
Function to compute lower bound
- lpar
Parameter passed to
lower()
- algorithm
an object of class
GenzBretz
,Miwa
orTVPACK
specifying both the algorithm to be used as well as the associated hyper parameters.- ...
additional parameters transfer to
mvtnorm::pmvnorm
Examples
library(dplyr)
library(mvtnorm)
library(gsDesign)
enrollRates <- tibble::tibble(Stratum = "All", duration = 12, rate = 500/12)
failRates <- tibble::tibble(Stratum = "All",
duration = c(4, 100),
failRate = log(2) / 15, # median survival 15 month
hr = c(1, .6),
dropoutRate = 0.001)
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)
)
# User defined bound
gs_power_combo(enrollRates, failRates, fh_test, upar = c(3,2,1), lpar = c(-1, 0, 1))
#> Analysis Bound Time N Events Z Probability Probability_Null
#> 1 1 Upper 12 500.0001 107.3943 3 0.01750147 0.001349898
#> 3 2 Upper 24 500.0001 246.2834 2 0.72610227 0.023307604
#> 5 3 Upper 36 500.0001 331.2910 1 0.96742568 0.195585465
#> 2 1 Lower 12 500.0001 107.3943 -1 0.02926711 NA
#> 4 2 Lower 24 500.0001 246.2834 0 0.03142375 NA
#> 6 3 Lower 36 500.0001 331.2910 1 0.03257732 NA
# Minimal Information Fraction derived bound
gs_power_combo(enrollRates, failRates, 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))
#> Analysis Bound Time N Events Z Probability Probability_Null
#> 1 1 Upper 12 500.0001 107.3943 6.175397 6.329275e-08 3.299865e-10
#> 3 2 Upper 24 500.0001 246.2834 2.798651 4.260145e-01 2.565830e-03
#> 5 3 Upper 36 500.0001 331.2910 2.097932 9.015802e-01 2.495060e-02
#> 2 1 Lower 12 500.0001 107.3943 -2.516527 3.269613e-04 NA
#> 4 2 Lower 24 500.0001 246.2834 1.237721 8.468664e-02 NA
#> 6 3 Lower 36 500.0001 331.2910 2.097932 9.842290e-02 NA