| getDesign | R Documentation |
Obtains the maximum information and stopping boundaries for a generic group sequential design assuming a constant treatment effect, or obtains the power given the maximum information and stopping boundaries.
getDesign(
beta = NA_real_,
IMax = NA_real_,
theta = NA_real_,
kMax = 1L,
informationRates = NA_real_,
efficacyStopping = NA_integer_,
futilityStopping = NA_integer_,
criticalValues = NULL,
alpha = 0.025,
typeAlphaSpending = "sfOF",
parameterAlphaSpending = NA_real_,
userAlphaSpending = NA_real_,
futilityBounds = NULL,
futilityCP = NULL,
futilityTheta = NULL,
typeBetaSpending = "none",
parameterBetaSpending = NA_real_,
userBetaSpending = NA_real_,
spendingTime = NA_real_,
varianceRatio = 1
)
beta |
The type II error. |
IMax |
The maximum information. Either |
theta |
The parameter value. Null hypothesis is at |
kMax |
The maximum number of stages. |
informationRates |
The information rates. Fixed prior to the trial.
Defaults to |
efficacyStopping |
Indicators of whether efficacy stopping is allowed
at each stage. Defaults to |
futilityStopping |
Indicators of whether futility stopping is allowed
at each stage. Defaults to |
criticalValues |
Upper boundaries on the z-test statistic scale for stopping for efficacy. |
alpha |
The significance level. Defaults to 0.025. |
typeAlphaSpending |
The type of alpha spending. One of the following:
|
parameterAlphaSpending |
The parameter value for the alpha spending.
Corresponds to |
userAlphaSpending |
The user defined alpha spending. Cumulative alpha spent up to each stage. |
futilityBounds |
Lower boundaries on the z-test statistic scale
for stopping for futility at stages |
futilityCP |
The futility bounds on the conditional power scale. |
futilityTheta |
The futility bounds on the parameter scale. |
typeBetaSpending |
The type of beta spending. One of the following:
|
parameterBetaSpending |
The parameter value for the beta spending.
Corresponds to |
userBetaSpending |
The user defined beta spending. Cumulative beta spent up to each stage. |
spendingTime |
A vector of length |
varianceRatio |
The ratio of the variance under H0 to the variance under H1. |
The function determines efficacy and futility bounds based on the inputs provided, following a clear priority order.
Efficacy bounds:
If criticalValues are supplied, they take precedence and all
alpha-spending parameters are ignored. Otherwise, efficacy bounds are
derived from the specified alpha-spending function.
Futility bounds: Futility inputs are evaluated in the following order of priority:
If futilityBounds are provided, they override all other
futility-related inputs (futilityCP, futilityTheta,
and beta-spending parameters).
If futilityBounds are not provided but futilityCP
is specified, then futilityTheta and beta-spending parameters
are ignored.
If only futilityTheta is provided, beta-spending parameters
are ignored.
If none of futilityBounds, futilityCP,
or futilityTheta are specified, futility bounds are computed
using the beta-spending approach.
An S3 class design object with three components:
overallResults: A data frame containing the following variables:
overallReject: The overall rejection probability.
alpha: The overall significance level.
attainedAlpha: The attained significance level, which is
different from the overall significance level in the presence of
futility stopping.
kMax: The number of stages.
theta: The parameter value.
information: The maximum information.
expectedInformationH1: The expected information under H1.
expectedInformationH0: The expected information under H0.
drift: The drift parameter, equal to
theta*sqrt(information).
inflationFactor: The inflation factor (relative to the
fixed design).
byStageResults: A data frame containing the following variables:
informationRates: The information rates.
efficacyBounds: The efficacy boundaries on the Z-scale.
futilityBounds: The futility boundaries on the Z-scale.
rejectPerStage: The probability for efficacy stopping.
futilityPerStage: The probability for futility stopping.
cumulativeRejection: The cumulative probability for efficacy
stopping.
cumulativeFutility: The cumulative probability for futility
stopping.
cumulativeAlphaSpent: The cumulative alpha spent.
efficacyTheta: The efficacy boundaries on the parameter
scale.
futilityTheta: The futility boundaries on the parameter
scale.
efficacyP: The efficacy boundaries on the p-value scale.
futilityP: The futility boundaries on the p-value scale.
information: The cumulative information.
efficacyStopping: Whether to allow efficacy stopping.
futilityStopping: Whether to allow futility stopping.
rejectPerStageH0: The probability for efficacy stopping
under H0.
futilityPerStageH0: The probability for futility stopping
under H0.
cumulativeRejectionH0: The cumulative probability for
efficacy stopping under H0.
cumulativeFutilityH0: The cumulative probability for
futility stopping under H0.
settings: A list containing the following input parameters:
typeAlphaSpending: The type of alpha spending.
parameterAlphaSpending: The parameter value for alpha
spending.
userAlphaSpending: The user defined alpha spending.
typeBetaSpending: The type of beta spending.
parameterBetaSpending: The parameter value for beta
spending.
userBetaSpending: The user defined beta spending.
spendingTime: The error spending time at each analysis.
varianceRatio: The ratio of the variance under H0
to the variance under H1.
Kaifeng Lu, kaifenglu@gmail.com
Christopher Jennison, Bruce W. Turnbull. Group Sequential Methods with Applications to Clinical Trials. Chapman & Hall/CRC: Boca Raton, 2000, ISBN:0849303168
# Example 1: obtain the maximum information given power
(design1 <- getDesign(
beta = 0.2, theta = -log(0.7),
kMax = 2, informationRates = c(0.5,1),
alpha = 0.025, typeAlphaSpending = "sfOF",
typeBetaSpending = "sfP"))
# Example 2: obtain power given the maximum information
(design2 <- getDesign(
IMax = 72.5, theta = -log(0.7),
kMax = 3, informationRates = c(0.5, 0.75, 1),
alpha = 0.025, typeAlphaSpending = "sfOF",
typeBetaSpending = "sfP"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.