TwoStageDesign
is the fundamental design class of the
adoptr package.
Formally, we represent a generic two-stage design as a five-tuple
(n1, c1f, c1e, n2(·), c2(·)).
Here, n1 is the first-stage sample
size (per group), c1f
and c1e are
boundaries for early stopping for futility and efficacy, respectively.
Since the trial design is a two-stage design, the elements
n2(·) (stage-two sample
size) and c2(·)
(stage-two critical value) are functions of the first-stage outcome
X1=x1.
X1 denotes the first-stage test
statistic. A brief description on this definition of two-stage designs can be
read here.
For available methods, see the 'See Also' section at the end of this page.
TwoStageDesign(n1, ...)
# S4 method for numeric
TwoStageDesign(n1, c1f, c1e, n2_pivots, c2_pivots, order = NULL, ...)
# S4 method for TwoStageDesign
summary(object, ..., rounded = TRUE)
stage-one sample size
further optional arguments
early futility stopping boundary
early efficacy stopping boundary
numeric vector, stage-two sample size on the integration pivot points
numeric vector, stage-two critical values on the integration pivot points
integer
, integration order of the employed Gaussian quadrature
integration rule to evaluate scores. Automatically set to length(n2_pivots)
if length(n2_pivots) == length(c2_pivots) > 1
, otherwise c2 and n2
are taken to be constant in stage-two and replicated to match the number of
pivots specified by order
object to show
should rounded n-values be used?
summary
can be used to quickly compute and display basic facts about
a TwoStageDesign.
An arbitrary number of names UnconditionalScore
objects can be
provided via the optional arguments ...
and are included in the summary displayed using
print
.
n1
cf. parameter 'n1'
c1f
cf. parameter 'c1f'
c1e
cf. parameter 'c1e'
n2_pivots
vector of length 'order' giving the values of n2 at the pivot points of the numeric integration rule
c2_pivots
vector of length order giving the values of c2 at the pivot points of the numeric integration rule
x1_norm_pivots
normalized pivots for integration rule (in [-1, 1])
the actual pivots are scaled to the interval [c1f, c1e] and can be
obtained by the internal method adoptr:::scaled_integration_pivots(design)
weights
weights of of integration rule at x1_norm_pivots
for
approximating integrals over x1
tunable
named logical vector indicating whether corresponding slot is
considered a tunable parameter (i.e. whether it can be changed during
optimization via minimize
or not; cf. make_fixed
)
For accessing sample sizes and critical values safely, see methods in
n
and c2
; for modifying behaviour during optimizaton
see make_tunable
; to convert between S4 class represenation and
numeric vector, see tunable_parameters
; for simulating from a given
design, see simulate
;
for plotting see plot,TwoStageDesign-method
.
Both group-sequential and
one-stage designs (!) are implemented as subclasses of
TwoStageDesign
.
design <- TwoStageDesign(50, 0, 2, 50.0, 2.0, 5)
pow <- Power(Normal(), PointMassPrior(.4, 1))
summary(design, "Power" = pow)
#> TwoStageDesign: n1 = 50
#>
futility | continue | efficacy
#>
x1: -0.00 | 0.09 0.46 1.00 1.54 1.91 | 2.00
#>
c2(x1): +Inf | +2.00 +2.00 +2.00 +2.00 +2.00 | -Inf
#>
n2(x1): 0 | 50 50 50 50 50 | 0
#>
Power: 0.739
#>