Translate survival design bounds to exact binomial bounds
Source:R/toBinomialExact.R
toBinomialExact.Rd
Translate survival design bounds to exact binomial bounds
Arguments
- x
An object of class
gsSurv
; i.e., an object generated by thegsSurv()
function.- observedEvents
If NULL (default), targeted timing of analyses will come from
x$n.I
. Otherwise, this should be vector of increasing positive integers with at most 1 value>= x$n.IPlan
and of length at least 2. Only one value can be greater than or equal tox$maxn.IPlan
. This determines the case count at each analysis performed. Primarily, this is used for updating a design at the time of analysis.
Details
The exact binomial routine gsBinomialExact
has requirements that may not be satisfied
by the initial asymptotic approximation.
Thus, the approximations are updated to satisfy the following requirements of gsBinomialExact
:
a
(the efficacy bound) must be positive, non-decreasing, and strictly less than n.I
b
(the futility bound) must be positive, non-decreasing, strictly greater than a
n.I - b
must be non-decreasing and >= 0
Examples
# The following code derives the group sequential design using the method
# of Lachin and Foulkes
x <- gsSurv(
k = 3, # 3 analyses
test.type = 4, # Non-binding futility bound 1 (no futility bound) and 4 are allowable
alpha = .025, # 1-sided Type I error
beta = .1, # Type II error (1 - power)
timing = c(0.45, 0.7), # Proportion of final planned events at interims
sfu = sfHSD, # Efficacy spending function
sfupar = -4, # Parameter for efficacy spending function
sfl = sfLDOF, # Futility spending function; not needed for test.type = 1
sflpar = 0, # Parameter for futility spending function
lambdaC = .001, # Exponential failure rate
hr = 0.3, # Assumed proportional hazard ratio (1 - vaccine efficacy = 1 - VE)
hr0 = 0.7, # Null hypothesis VE
eta = 5e-04, # Exponential dropout rate
gamma = 10, # Piecewise exponential enrollment rates
R = 16, # Time period durations for enrollment rates in gamma
T = 24, # Planned trial duration
minfup = 8, # Planned minimum follow-up
ratio = 3 # Randomization ratio (experimental:control)
)
# Convert bounds to exact binomial bounds
toBinomialExact(x)
#> Bounds
#> Analysis N a b
#> 1 31 12 22
#> 2 48 23 30
#> 3 69 38 39
#>
#> Boundary crossing probabilities and expected sample size assume
#> any cross stops the trial
#>
#> Upper boundary
#> Analysis
#> Theta 1 2 3 Total E{N}
#> 0.6774 0.4328 0.3960 0.1523 0.9811 44.1
#> 0.4737 0.0068 0.0206 0.0578 0.0851 52.2
#>
#> Lower boundary
#> Analysis
#> Theta 1 2 3 Total
#> 0.6774 0.0008 0.0030 0.0151 0.0189
#> 0.4737 0.2167 0.3767 0.3215 0.9149
# Update bounds at time of analysis
toBinomialExact(x, observedEvents = c(20,55,80))
#> Bounds
#> Analysis N a b
#> 1 20 6 17
#> 2 55 28 33
#> 3 80 45 46
#>
#> Boundary crossing probabilities and expected sample size assume
#> any cross stops the trial
#>
#> Upper boundary
#> Analysis
#> Theta 1 2 3 Total E{N}
#> 0.6774 0.0732 0.8400 0.0668 0.9800 54.4
#> 0.4737 0.0006 0.0404 0.0205 0.0615 57.1
#>
#> Lower boundary
#> Analysis
#> Theta 1 2 3 Total
#> 0.6774 0.0006 0.0067 0.0127 0.0200
#> 0.4737 0.0903 0.6571 0.1911 0.9385