gs_spending_bound {gsDesign2} | R Documentation |
Derive spending bound for group sequential boundary
Description
Computes one bound at a time based on spending under given distributional
assumptions. While user specifies gs_spending_bound()
for use with other
functions, it is not intended for use on its own.
Most important user specifications are made through a list provided to
functions using gs_spending_bound()
.
Function uses numerical integration and Newton-Raphson iteration to derive
an individual bound for a group sequential design that satisfies a
targeted boundary crossing probability. Algorithm is a simple extension of
that in Chapter 19 of Jennison and Turnbull (2000).
Usage
gs_spending_bound(
k = 1,
par = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL,
max_info = NULL),
hgm1 = NULL,
theta = 0.1,
info = 1:3,
efficacy = TRUE,
test_bound = TRUE,
r = 18,
tol = 1e-06
)
Arguments
k |
Analysis for which bound is to be computed. |
par |
A list with the following items:
|
hgm1 |
Subdensity grid from |
theta |
Natural parameter used for lower bound only spending; represents average drift at each time of analysis at least up to analysis k; upper bound spending is always set under null hypothesis (theta = 0). |
info |
Statistical information at all analyses, at least up to analysis k. |
efficacy |
|
test_bound |
A logical vector of the same length as |
r |
Integer value controlling grid for numerical integration
as in Jennison and Turnbull (2000); default is 18, range is 1 to 80.
Larger values provide larger number of grid points and greater accuracy.
Normally |
tol |
Tolerance parameter for convergence (on Z-scale). |
Value
Returns a numeric bound (possibly infinite) or, upon failure, generates an error message.
Specification
The contents of this section are shown in PDF user manual only.
Author(s)
Keaven Anderson keaven_anderson@merck.com
References
Jennison C and Turnbull BW (2000), Group Sequential Methods with Applications to Clinical Trials. Boca Raton: Chapman and Hall.
Examples
gs_power_ahr(
analysis_time = c(12, 24, 36),
event = c(30, 40, 50),
binding = TRUE,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL)
)