Title: | Optimal Two-Period Multiarm Platform Design with New Experimental Arms Added During the Trial |
---|---|
Description: | Design parameters of the optimal two-period multiarm platform design (controlling for either family-wise error rate or pair-wise error rate) can be calculated using this package, allowing pre-planned deferred arms to be added during the trial. More details about the design method can be found in the paper: Pan, H., Yuan, X. and Ye, J. (2022) "An optimal two-period multiarm platform design with new experimental arms added during the trial". Manuscript submitted for publication. For additional references: Dunnett, C. W. (1955) <doi:10.2307/2281208>. |
Authors: | Xiaomeng Yuan [aut, cre], Haitao Pan [aut] |
Maintainer: | Xiaomeng Yuan <[email protected]> |
License: | GPL (>= 3) |
Version: | 2.1.4 |
Built: | 2024-12-14 06:35:41 UTC |
Source: | CRAN |
Find the admissible set of the (n2, n0_2) pairs, given n1, n0_1, nt, ntrt and S.
admiss(n1, n0_1, nt, ntrt, S)
admiss(n1, n0_1, nt, ntrt, S)
n1 |
the sample size in each of the K experimental arms in the K-experimental arm trial |
n0_1 |
the sample size of the common control arm in the K-experimental arm trial |
nt |
the number of patients already enrolled on each of the K initial experimental arms when the new arms are added |
ntrt |
the number of experimental arms in the K+M-experimental arm trial, i.e, K+M |
S |
the upper limit of the total sample size for the K+M-experimental arm trial. It usually takes the value of the sum of the sample sizes of two separate clinical trials (one with K and another with M experimental arms, each having one control arm). The total sample size of K (or M)-arm trial can be calculated using function one_stage_multiarm(). |
Given n1, n0_1, nt, ntrt and S, using three constraints to find the admissible set of the (n2, n0_2) pairs. See the vignettes for details.
a dataframe which contains all candidate values of n2 and n0_2 in its first and second column, respectively
admiss(n1=101, n0_1=143, nt=30, ntrt=4, S=690)
admiss(n1=101, n0_1=143, nt=30, ntrt=4, S=690)
Calculate the correlation matrix of the z-statistics in the two-period K+M-experimental arm platform design with delayed arms, given K, M, n, n0 and n0t.
cor.mat(K, M = 0, n, n0, n0t = NULL)
cor.mat(K, M = 0, n, n0, n0t = NULL)
K |
the number of experimental arms in the first period in a two-period K+M-experimental arm trial |
M |
the number of new experimental arms added in the beginning of the second period in a two-period K+M-experimental arm trial, default = 0 for calculating the correlation matrix of the Z-test statistics when used for a K-experimental arm trial |
n |
the sample size in each of the experimental arms in a two-period K+M-experimental arm trial |
n0 |
the sample size of the concurrent control for each experimental arm in a two-period K+M-experimental arm trial experimental arms |
n0t |
the number of patients already enrolled in the control arm when new experimental arms are added, default to NULL for calculating correlation matrix of the K-experimental arm trial |
Given K, M, n, n0 and n0t, calculate the correlation matrix of the z-statistics in the two-period K+M experimental arm trial (with one common control arm).
cormat, the correlation matrix of Z-test statistics in the two-period K+M-experimental arm trial with one common control arm, or that in the K-experimental arm trial when M = 0
cor.mat(K = 2, M = 0, n = 101, n0 = 143) #$cormat # [,1] [,2] #[1,] 1.0000000 0.4139344 #[2,] 0.4139344 1.0000000 # #$cor1 #[1] 0.4139344 # #$cor2 #NULL # cor.mat(K = 2, M = 2, n = 107, n0 = 198, n0t = 43) #$cormat # [,1] [,2] [,3] [,4] #[1,] 1.0000000 0.3508197 0.2746316 0.2746316 #[2,] 0.3508197 1.0000000 0.2746316 0.2746316 #[3,] 0.2746316 0.2746316 1.0000000 0.3508197 #[4,] 0.2746316 0.2746316 0.3508197 1.0000000 # #$cor1 #[1] 0.3508197 # #$cor2 #[1] 0.2746316
cor.mat(K = 2, M = 0, n = 101, n0 = 143) #$cormat # [,1] [,2] #[1,] 1.0000000 0.4139344 #[2,] 0.4139344 1.0000000 # #$cor1 #[1] 0.4139344 # #$cor2 #NULL # cor.mat(K = 2, M = 2, n = 107, n0 = 198, n0t = 43) #$cormat # [,1] [,2] [,3] [,4] #[1,] 1.0000000 0.3508197 0.2746316 0.2746316 #[2,] 0.3508197 1.0000000 0.2746316 0.2746316 #[3,] 0.2746316 0.2746316 1.0000000 0.3508197 #[4,] 0.2746316 0.2746316 0.3508197 1.0000000 # #$cor1 #[1] 0.3508197 # #$cor2 #[1] 0.2746316
Calculate the critical value and the marginal type-I error rate given the number of experimental arms, the family-wise type I error rate and the correlation matrix of the z-statistics.
fwer_critical(ntrt, fwer, corMat, seed = 123)
fwer_critical(ntrt, fwer, corMat, seed = 123)
ntrt |
the number of experimental arms in the trial |
fwer |
the family-wise error rate (FWER) to be controlled, default to be the same throughout the trial |
corMat |
the correlation matrix of the Z-test statistics |
seed |
an integer used in random number generation for numerically evaluating integration, default = 123 |
Use the number of experimental arms, the family-wise type I error rate and the correlation matrix of the Z-test statistics to calculate the marginal type I error rate and the critical value.
pairwise_alpha the marginal type-I error rate for the comparison
between any of the experimental arm and its corresponding control
critical_val, the critical value for the comparison between any of
the experimental arm and the corresponding controls
Other values returned are inputs.
Xiaomeng Yuan, Haitao Pan
Dunnett, C. W. (1955). A multiple comparison procedure for comparing
several treatments with a control. Journal of the American Statistical
Association, 50(272), 1096-1121.
corMat1 <- cor.mat(K=2, M = 2, n=107, n0=198, n0t = 43)$cormat fwer_critical(ntrt=4, fwer=0.025, corMat=corMat1) # #$ntrt #[1] 4 # #$fwer #[1] 0.025 # #$corMat # [,1] [,2] [,3] [,4] #[1,] 1.0000000 0.3508197 0.2746316 0.2746316 #[2,] 0.3508197 1.0000000 0.2746316 0.2746316 #[3,] 0.2746316 0.2746316 1.0000000 0.3508197 #[4,] 0.2746316 0.2746316 0.3508197 1.0000000 # #$pairwise_alpha #[1] 0.006657461 # #$critical_val #[1] 2.475233
corMat1 <- cor.mat(K=2, M = 2, n=107, n0=198, n0t = 43)$cormat fwer_critical(ntrt=4, fwer=0.025, corMat=corMat1) # #$ntrt #[1] 4 # #$fwer #[1] 0.025 # #$corMat # [,1] [,2] [,3] [,4] #[1,] 1.0000000 0.3508197 0.2746316 0.2746316 #[2,] 0.3508197 1.0000000 0.2746316 0.2746316 #[3,] 0.2746316 0.2746316 1.0000000 0.3508197 #[4,] 0.2746316 0.2746316 0.3508197 1.0000000 # #$pairwise_alpha #[1] 0.006657461 # #$critical_val #[1] 2.475233
Provide other design parameters for a two-period K+M-experimental arm trial, given n2 and n0_2, nt, K, M, fwer(or pwer) and marginal power (of the K-experimental arm trial). This function serves for the purpose of spot-testing for any pre-specified n, n0_2 pair. Please use platform_design() for finding optimal values of n and n0_2, controlling for FWER (or PWER).
one_design( n2, n0_2, nt, K, M, fwer = NULL, pwer = NULL, marginal.power, delta, seed = 123 )
one_design( n2, n0_2, nt, K, M, fwer = NULL, pwer = NULL, marginal.power, delta, seed = 123 )
n2 |
a positive integer, which is the sample size in each experimental arm in the K+M-experimental arm trial |
n0_2 |
a positive integer, which is the sample size of the concurrent control for each experimental arms in the K+M-experimental arm trial |
nt |
a positive integer, the number of patients already enrolled on each of the K initial experimental arms when the M new arms are added |
K |
a positive integer, the number of experimental arms in the first period in a two-period K+M-experimental arm trial |
M |
a positive integer, the number of delayed (newly added) experimental arms added in the beginning of the second period of the K+M-experimental arm trial |
fwer |
the family-wise error rate (FWER) to be controlled, default to be the same throughout the trial |
pwer |
the pair-wise error rate (PWER) to be controlled, default to be the same throughout the trial |
marginal.power |
the marginal power to achieve in the K-experimental arm (and K+M-experimental arm) trial |
delta |
the standardized clinical effect size expected to be detected in the trial |
seed |
an integer for random number generation for numerically evaluating integration, default = 123 |
Given n2 and n0_2, nt, K, M, fwer (or pwer) and marginal power (of the K-experimental arm trial), provide other design parameters for a two-period K+M-experimental arm trial.
design_Karm contains the design parameters for the K-experimental arm trial including:
K, the number of experimental arms in the K-experimental arm trial
n1, the sample size for each of the K experimental
arms in the k-experimental arm trial
n0_1, the sample size of the common control arm in the K-experimental arm trial
N1 the total sample size of a K-experimental arm trial
z_alpha1, the critical value for the comparison between any of the K
experimental arms and the control in the K-experimental arm trial
FWER1, the family-wise error rate for the K-experimental arm trial
z_beta1, the quantile of the marginal power, i.e., qnorm(marginal
power) for the K-experimental arm trial
Power1, the disjunctive power for the K-experimental arm trial
cor0, the correlation of Z-test statistics between any two of the K
experimental arms
delta, the standardized effect size expected to be detected in the
trial
designs contains the recommended optimal design parameters for the K+M-experimental arm trial including:
n2 and n0_2, the sample sizes of each of the K+M-experimental arm
experimental arms and its corresponding concurrent control, respectively, in the K+M-experimental arm trial
nt and n0t, the number of patients already enrolled on each
of the K initial experimental arms and the common control arm, respectively, at the time the
M new arms are added
nc, the total sample size of the control arm for the K+M-experimental arm trial, i.e.
, the sum of concurrent (n0_2) and nonconcurrent (n0t) controls
N2, the total sample size of the two-period K+M-experimental arm trial
A1, the allocation ratio (control to experimental arm) before the M
new experimental arms are added and after the initial K experimental arms end
A2, the allocation ratio after the M new experimental arms are
added and before the initial K experimental arms end
cor1, the correlation of Z-test statistics between any two of the K
initially opened experimental arms (or between any two of the M newly added arms)
cor2, the correlation of Z-test statistics between any pair of one
initially opened and one newly added experimental arm
critical_value2, the critical value for the comparison between each
experimental arms and the corresponding control in the K+M-experimental arm trial
mariginal.power2, the marginal power for the K+M-experimental arm trial
disjunctive.power2, the disjunctive power for the K+M-experimental arm trial
FWER2, the family-wise error rate for the K+M-experimental arm trial.
delta, the standardized clinical effect size
expected to be detected in the trial
save, the number of patients saved in the K+M-experimental arm trial compared to
conducting one K-experimental arm and one M-experimental arm trial, separately.
Xiaomeng Yuan, Haitao Pan
Pan, H., Yuan, X. and Ye, J. (2022). An optimal two-period multiarm
platform design with new experimental arms added during the trial. Manuscript submitted for
publication.
Dunnett, C. W. (1955). A multiple comparison procedure for comparing
several treatments with a control. Journal of the American Statistical
Association, 50(272), 1096-1121.
# control fwer one_design(n2 = 107, n0_2 = 198, nt = 30, K = 2, M = 2, fwer = 0.025, marginal.power = 0.8, delta = 0.4) #$design_Karm # K n1 n0_1 N1 z_alpha1 FWER1 z_beta1 Power1 cor0 delta #1 2 101 143 345 2.220604 0.025 0.8416212 0.9222971 0.4142136 0.4 # #$designs # n2 n0_2 nt n0t nc N2 A1 A2 cor1 cor2 critical_value2 #1 107 198 30 43 241 669 1.414214 2.012987 0.3508197 0.2746316 2.475233 # # marginal.power2 disjunctive.power2 FWER2 delta save #1 0.80011 0.9853799 0.025 0.4 21 # # control pwer one_design(n2 = 76, n0_2 = 140, nt = 30, K = 2, M = 2, pwer = 0.025, marginal.power = 0.8, delta = 0.4) #$design_Karm # K n1 n0_1 N1 z_alpha1 FWER1 z_beta1 Power1 cor0 delta #1 2 84 119 287 1.959964 0.04647892 0.8416212 0.9222971 0.4142136 0.4 # #$designs # n2 n0_2 nt n0t nc N2 A1 A2 cor1 cor2 critical_value2 #1 76 140 30 43 183 487 1.414214 2.108696 0.3518519 0.2437831 1.959964 # marginal.power2 disjunctive.power2 FWER2 delta save #1 0.8001424 0.9867451 0.08807302 0.4 87
# control fwer one_design(n2 = 107, n0_2 = 198, nt = 30, K = 2, M = 2, fwer = 0.025, marginal.power = 0.8, delta = 0.4) #$design_Karm # K n1 n0_1 N1 z_alpha1 FWER1 z_beta1 Power1 cor0 delta #1 2 101 143 345 2.220604 0.025 0.8416212 0.9222971 0.4142136 0.4 # #$designs # n2 n0_2 nt n0t nc N2 A1 A2 cor1 cor2 critical_value2 #1 107 198 30 43 241 669 1.414214 2.012987 0.3508197 0.2746316 2.475233 # # marginal.power2 disjunctive.power2 FWER2 delta save #1 0.80011 0.9853799 0.025 0.4 21 # # control pwer one_design(n2 = 76, n0_2 = 140, nt = 30, K = 2, M = 2, pwer = 0.025, marginal.power = 0.8, delta = 0.4) #$design_Karm # K n1 n0_1 N1 z_alpha1 FWER1 z_beta1 Power1 cor0 delta #1 2 84 119 287 1.959964 0.04647892 0.8416212 0.9222971 0.4142136 0.4 # #$designs # n2 n0_2 nt n0t nc N2 A1 A2 cor1 cor2 critical_value2 #1 76 140 30 43 183 487 1.414214 2.108696 0.3518519 0.2437831 1.959964 # marginal.power2 disjunctive.power2 FWER2 delta save #1 0.8001424 0.9867451 0.08807302 0.4 87
This function can be used to design a K-experimental arm trial (with K experimental arm plus a common control arm) given a pre-planned family-wise error rate (or pair-wise error rate) and with a user-specified marginal power. It calculates required sample sizes for each of the experimental arm (n1), the control arm (n0_1), the total sample size (N1), and the critical value (z_alpha1) for each experimental arm-control comparison in the trial.
one_stage_multiarm( K, fwer = NULL, pwer = NULL, marginal.power, delta, seed = 123 )
one_stage_multiarm( K, fwer = NULL, pwer = NULL, marginal.power, delta, seed = 123 )
K |
the number of experimental arms |
fwer |
the family-wise type I error rate, default to be null, users need to choose between controlling for fwer or pwer and input a value for this argument if choosing fwer |
pwer |
the pair-wise type I error rate, default to be null, users need to input a value for this argument if controlling for pwer |
marginal.power |
the marginal power for each experimental-control comparison |
delta |
the standardized effect size expected to be detected in the trial |
seed |
an integer used in random number generation for numerically evaluating integration, default = 123 |
Given the number of experimental arms (K), the family-wise type I error rate (or the pair-wise type-I error-rate), the marginal power for each experimental-control comparison and the standardized effect size, to calculate the sample sizes and other design parameters for the K-experimental arm trial (with K-experimental arm in addition to one control arm).
K the number of experimental arms in the K-experimental arm trial (with K experimental arm plus a common control arm), e.g., for a 3-arm trial with 3 experimental arm and 1 control arm, K=3.
n1 the sample size for each of the K experimental arms
n0_1 the sample size of the common control arm
N1 the total sample size of a K-experimental arm trial
z_alpha1 the critical value for the comparison between any of the K-experimental arm and its corresponding control
FWER1 the family-wise type-I error rate
z_beta1 the quantile of the marginal power, i.e., qnorm(marginal power)
Power1 the disjunctive power of the K-experimental arm trial defined as the probability of rejecting at least one of the K experimental arms under the alternative hypothesis
corMat1 the correlation matrix of the Z-test statistics
delta the standardized effect size expected to be detected in the K-experimental arm trial
Xiaomeng Yuan, Haitao Pan
Pan, H., Yuan, X. and Ye, J. (2022). An optimal two-period multiarm
platform design with new experimental arms added during the trial. Manuscript submitted for
publication.
Dunnett, C. W. (1955). A multiple comparison procedure for comparing
several treatments with a control. Journal of the American Statistical
Association, 50(272), 1096-1121.
# controlling for FWER one_stage_multiarm(K = 2, fwer = 0.025, marginal.power = 0.8, delta = 0.4) #$K #[1] 2 # #$n1 #[1] 101 # #$n0_1 #[1] 143 # #$N1 #[1] 345 # #$z_alpha1 #[1] 2.220604 # #$FWER1 #[1] 0.025 # #$z_beta1 #[1] 0.8416212 # #$Power1 #[1] 0.9222971 # #$corMat1 #[,1] [,2] #[1,] 1.0000000 0.4142136 #[2,] 0.4142136 1.0000000 # #$delta #[1] 0.4 # # controlling for pwer one_stage_multiarm(K = 2, pwer = 0.025, marginal.power = 0.8, delta = 0.4) #$K #[1] 2 # #$n1 #[1] 84 # #$n0_1 #[1] 119 # #$N1 #[1] 287 # #$z_alpha1 #[1] 1.959964 # #$FWER1 #[1] 0.04647892 # #$z_beta1 #[1] 0.8416212 # #$Power1 #[1] 0.9222971 # #$corMat1 #[,1] [,2] #[1,] 1.0000000 0.4142136 #[2,] 0.4142136 1.0000000 # #$delta #[1] 0.4
# controlling for FWER one_stage_multiarm(K = 2, fwer = 0.025, marginal.power = 0.8, delta = 0.4) #$K #[1] 2 # #$n1 #[1] 101 # #$n0_1 #[1] 143 # #$N1 #[1] 345 # #$z_alpha1 #[1] 2.220604 # #$FWER1 #[1] 0.025 # #$z_beta1 #[1] 0.8416212 # #$Power1 #[1] 0.9222971 # #$corMat1 #[,1] [,2] #[1,] 1.0000000 0.4142136 #[2,] 0.4142136 1.0000000 # #$delta #[1] 0.4 # # controlling for pwer one_stage_multiarm(K = 2, pwer = 0.025, marginal.power = 0.8, delta = 0.4) #$K #[1] 2 # #$n1 #[1] 84 # #$n0_1 #[1] 119 # #$N1 #[1] 287 # #$z_alpha1 #[1] 1.959964 # #$FWER1 #[1] 0.04647892 # #$z_beta1 #[1] 0.8416212 # #$Power1 #[1] 0.9222971 # #$corMat1 #[,1] [,2] #[1,] 1.0000000 0.4142136 #[2,] 0.4142136 1.0000000 # #$delta #[1] 0.4
Find optimal design(s) for a two-period K+M experimental arm platform trial given a user-specified family-wise error rate (or pair-wise error rate) and marginal power. The K+M-experimental arm trial has K experimental arms and one control arm during the first period, and later M experimental arms are added on the start of the second period. The one common control arm is shared among all experimental arms across the trial. The function calculates required sample sizes for each of the experimental arm (n2), the concurrent control (n0_2), the total sample size (N2), the allocation ratios (A1 & A2), and the critical value (z_alpha1) for each experimental arm-control comparison in the trial. The number of patients saved in a K+M-experimental arm trial compared to conducting one K-experimental arm and one M-experimental arm trial separately is also provided. Users can choose to control for either FWER or PWER in the trial.
platform_design( nt, K, M, fwer = NULL, pwer = NULL, marginal.power, min.marginal.power = marginal.power, delta, seed = 123 )
platform_design( nt, K, M, fwer = NULL, pwer = NULL, marginal.power, min.marginal.power = marginal.power, delta, seed = 123 )
nt |
the number of patients already enrolled on each of the K initial experimental arms at the time the M new arms are added. |
K |
the number of experimental arms in the first period in a two-period K+M-experimental arm trial |
M |
the number of new experimental arms added at the start of the second period |
fwer |
the family-wise type I error rate, default to be null, users need to choose between controlling for fwer or pwer and input a value for this argument if fwer is chosen |
pwer |
the pair-wise type I error rate, default to be null, users need to choose between controlling for fwer or pwer and input a value for this argument if pwer is chosen |
marginal.power |
the marginal power for each experimental-control comparison in the K-experimental arm trial. This is also the marginal power the algorithm aims to achieve in the K+M-experimental arm when min.marginal.power=marginal.power (default option). |
min.marginal.power |
the marginal power the function aims to achieve in the K+M-experimental arm trial, default to be the same as the marginal power of the K-experimental arm trial. It will be the marginal power of the K+M-experimental arm if optimal design exists. Don't change the default unless you need to achieve a marginal power level different than that of the K-experimental arm trial. |
delta |
the standardized effect size expected to be detected in the trial |
seed |
an integer used in random number generation for numerically evaluating integration, default = 123 |
Providing an optimized design in terms of minimizing the total sample size for adding M additional experimental arms in the middle of a clinical trial which originally have K experimental arms and 1 control arm, given user-defined FWER (or PWER) and marginal power. The optimal design for the K+M-experimental arm trial exists only if flag.dpmp = 0. It means that the optimal design can be found to keep both marginal and disjunctive power levels no less than those in the corresponding K-experimental arm trial. If flag.dpmp = 1 and flag.mp = 1, it means the optimal design to maintain both mariginal and disjunctive power levels can not be found, but the a design with the disjunctive power no less than its counterpart in the K-experimental arm trial is returned in designs.
The function returns a list, including design_Karm, designs, flag.dp, flag.mp, and flag.dpmp.
design_Karm contains the design parameters for the K-experimental arm trial including:
K, the number of experimental arms
n1, the sample size for each of the K experimental
arms
n0_1, the sample size of the common control arm
N1 the total sample size of a K-experimental arm trial
z_alpha1, the critical value for the comparison between any of the K
experimental arms and the control
FWER1, the family-wise error rate
z_beta1, the quantile of the marginal power, i.e., qnorm(marginal
power)
Power1, the disjunctive power
cor0, the correlation of Z-test statistics between any two of the K
experimental arms
delta, the standardized effect size expected to be detected in the
K-experimental arm trial
designs contains the recommended optimal design parameters for the K+M-experimental arm trial including:
n2 and n0_2, the sample sizes of each of the K+M experimental
arms and its corresponding concurrent control, respectively
nt and n0t, the number of patients already enrolled on each
of the K initial experimental arms and the control arm, respectively, at the time the M new
arms are added
nc, the total sample size of the control arm for the k+M trial, i.e.
, the sum of the concurrent (n0_2) and nonconcurrent (n0t) controls
N2, the total sample size of the two-period K+M-experimental arm trial
A1, the allocation ratio (control to experimental arm) before the
M new experimental arms are added and after the initial K experimental arms end
A2, the allocation ratio (control to experimental arm) after the M
new experimental arms are added and before the initial K experimental arms end
cor1, the correlation of Z-test statistics between any two of the K
initial experimental arms (or between any two of the M new arms)
cor2, the correlation of Z-test statistics between any pair of one
initially opened and one newly added experimental arm
critical_value2, the critical value for the comparison between each
experimental arm and the concurrent control in the K+M-experimental arm trial
mariginal.power2, the marginal power for the K+M-experimental arm trial
disjunctive.power2, the disjunctive power for the K+M-experimental arm trial
FWER2, the family-wise type-I error rate for the K+M-experimental arm trial
delta, the standardized effect size expected to be detected in the
K+M-experimental arm trial
save, the number of patients saved in the K+M-experimental arm trial compared to
conducting one K-experimental arm and one M-experimental arm trial separately.
flag.dp, flag.mp, and flag.dpmp indicate if the lower limit of disjunctive power, marginal power, or both of them has(have) met, respectively
Xiaomeng Yuan, Haitao Pan
Pan, H., Yuan, X. and Ye, J. (2022). An optimal two-period multiarm
platform design with new experimental arms added during the trial. Manuscript submitted for
publication.
Dunnett, C. W. (1955). A multiple comparison procedure for comparing
several treatments with a control. Journal of the American Statistical Association, 50(272),
1096-1121.
platform_design(nt = 30, K = 2, M = 2, fwer = 0.025, marginal.power = 0.8, delta = 0.4) #flag.dpmp == 0, lower limits of marginal and disjunctive power are both met # #$design_Karm # K n1 n0_1 N1 z_alpha1 FWER1 z_beta1 Power1 cor0 delta # 1 2 101 143 345 2.220604 0.025 0.8416212 0.9222971 0.4142136 0.4 # #$designs # n2 n0_2 nt n0t nc N2 #15669 107 198 30 43 241 669 #15994 106 202 30 43 245 669 #16315 105 206 30 43 249 669 #16632 104 210 30 43 253 669 # # A1 A2 cor1 cor2 critical_value2 #15669 1.414214 2.012987 0.3508197 0.2746316 2.475233 #15994 1.414214 2.092105 0.3441558 0.2708949 2.475790 #16315 1.414214 2.173333 0.3376206 0.2671464 2.476330 #16632 1.414214 2.256757 0.3312102 0.2633910 2.476854 # # marginal.power2 disjunctive.power2 #15669 0.8001100 0.9853799 #15994 0.8003363 0.9857541 #16315 0.8003878 0.9860900 #16632 0.8002699 0.9863903 # # FWER2 delta save #15669 0.025 0.4 21 #15994 0.025 0.4 21 #16315 0.025 0.4 21 #16632 0.025 0.4 21 # #$flag.dp #[1] 0 # #$flag.mp #[1] 0 # #$flag.dpmp #[1] 0
platform_design(nt = 30, K = 2, M = 2, fwer = 0.025, marginal.power = 0.8, delta = 0.4) #flag.dpmp == 0, lower limits of marginal and disjunctive power are both met # #$design_Karm # K n1 n0_1 N1 z_alpha1 FWER1 z_beta1 Power1 cor0 delta # 1 2 101 143 345 2.220604 0.025 0.8416212 0.9222971 0.4142136 0.4 # #$designs # n2 n0_2 nt n0t nc N2 #15669 107 198 30 43 241 669 #15994 106 202 30 43 245 669 #16315 105 206 30 43 249 669 #16632 104 210 30 43 253 669 # # A1 A2 cor1 cor2 critical_value2 #15669 1.414214 2.012987 0.3508197 0.2746316 2.475233 #15994 1.414214 2.092105 0.3441558 0.2708949 2.475790 #16315 1.414214 2.173333 0.3376206 0.2671464 2.476330 #16632 1.414214 2.256757 0.3312102 0.2633910 2.476854 # # marginal.power2 disjunctive.power2 #15669 0.8001100 0.9853799 #15994 0.8003363 0.9857541 #16315 0.8003878 0.9860900 #16632 0.8002699 0.9863903 # # FWER2 delta save #15669 0.025 0.4 21 #15994 0.025 0.4 21 #16315 0.025 0.4 21 #16632 0.025 0.4 21 # #$flag.dp #[1] 0 # #$flag.mp #[1] 0 # #$flag.dpmp #[1] 0
The function platform_design2() is a faster version of platform_design(). It adopts a more efficient algorithm to find optimal design(s) for a two-period K+M experimental arm platform trial given a user-specified family-wise error rate (or pair-wise error rate) and marginal power. The K+M-experimental arm trial has K experimental arms and one control arm during the first period, and later M experimental arms are added on the start of the second period. The one common control arm is shared among all experimental arms across the trial. The function calculates required sample sizes for each of the experimental arm (n2), the concurrent control (n0_2), the total sample size (N2), the allocation ratios (A1 & A2), and the critical value (z_alpha1) for each experimental arm-control comparison in the trial. The number of patients saved in a K+M-experimental arm trial compared to conducting one K-experimental arm and one M-experimental arm trial separately is also provided. Users can choose to control for either FWER or PWER in the trial.
platform_design2( nt, K, M, fwer = NULL, pwer = NULL, marginal.power, min.marginal.power = marginal.power, delta, seed = 123 )
platform_design2( nt, K, M, fwer = NULL, pwer = NULL, marginal.power, min.marginal.power = marginal.power, delta, seed = 123 )
nt |
the number of patients already enrolled on each of the K initial experimental arms at the time the M new arms are added. |
K |
the number of experimental arms in the first period in a two-period K+M-experimental arm trial |
M |
the number of new experimental arms added at the start of the second period |
fwer |
the family-wise type I error rate, default to be null, users need to choose between controlling for fwer or pwer and input a value for this argument if fwer is chosen |
pwer |
the pair-wise type I error rate, default to be null, users need to choose between controlling for fwer or pwer and input a value for this argument if pwer is chosen |
marginal.power |
the marginal power for each experimental-control comparison in the K-experimental arm trial. This is also the marginal power the algorithm aims to achieve in the K+M-experimental arm when min.marginal.power=marginal.power (default option). |
min.marginal.power |
the marginal power the function aims to achieve in the K+M-experimental arm trial, default to be the same as the marginal power of the K-experimental arm trial. It will be the marginal power of the K+M-experimental arm if optimal design exists. Don't change the default unless you need to achieve a marginal power level different than that of the K-experimental arm trial. |
delta |
the standardized effect size expected to be detected in the trial |
seed |
an integer used in random number generation for numerically evaluating integration, default = 123 |
This function is basically a faster version of platform_design(). Just like the latter, It provides an optimized design in terms of minimizing the total sample size for adding M additional experimental arms in the middle of a clinical trial which originally have K experimental arms and 1 control arm, given user-defined FWER (or PWER) and marginal power. The algorithm searches for the optimal design starting from the maximum N2 until it reaches a design meets the requirements for both marginal and disjunctive power levels for the K+M-experimental arm trial. If the function returns NULL for $design, the optimal design for the K+M-experimental arm trial does not exists because the lower limits of marginal and disjunctive power cannot be met at the same time given the inputs. Unlike the platform_design(), the suboptimal design (i.e., the design only meets the requirement for the disjunctive power) is not provided.
The function returns a list, including design_Karm and designs.
design_Karm contains the design parameters for the K-experimental arm trial including:
K, the number of experimental arms
n1, the sample size for each of the K experimental
arms
n0_1, the sample size of the common control arm
N1 the total sample size of a K-experimental arm trial
z_alpha1, the critical value for the comparison between any of the K
experimental arms and the control
FWER1, the family-wise error rate
z_beta1, the quantile of the marginal power, i.e., qnorm(marginal
power)
Power1, the disjunctive power
cor0, the correlation of Z-test statistics between any two of the K
experimental arms
delta, the standardized effect size expected to be detected in the
K-experimental arm trial
designs contains the recommended optimal design parameters for the K+M-experimental arm trial including:
n2 and n0_2, the sample sizes of each of the K+M experimental
arms and its corresponding concurrent control, respectively
nt and n0t, the number of patients already enrolled on each
of the K initial experimental arms and the control arm, respectively, at the time the M new
arms are added
nc, the total sample size of the control arm for the k+M trial, i.e.
, the sum of the concurrent (n0_2) and nonconcurrent (n0t) controls
N2, the total sample size of the two-period K+M-experimental arm trial
A1, the allocation ratio (control to experimental arm) before the
M new experimental arms are added and after the initial K experimental arms end
A2, the allocation ratio (control to experimental arm) after the M
new experimental arms are added and before the initial K experimental arms end
cor1, the correlation of Z-test statistics between any two of the K
initial experimental arms (or between any two of the M new arms)
cor2, the correlation of Z-test statistics between any pair of one
initially opened and one newly added experimental arm
critical_value2, the critical value for the comparison between each
experimental arm and the concurrent control in the K+M-experimental arm trial
mariginal.power2, the marginal power for the K+M-experimental arm trial
disjunctive.power2, the disjunctive power for the K+M-experimental arm trial
FWER2, the family-wise type-I error rate for the K+M-experimental arm trial
delta, the standardized effect size expected to be detected in the
K+M-experimental arm trial
save, the number of patients saved in the K+M-experimental arm trial compared to
conducting one K-experimental arm and one M-experimental arm trial separately.
Xiaomeng Yuan, Haitao Pan
Pan, H., Yuan, X. and Ye, J. (2022). An optimal two-period multiarm
platform design with new experimental arms added during the trial. Manuscript submitted for
publication.
Dunnett, C. W. (1955). A multiple comparison procedure for comparing
several treatments with a control. Journal of the American Statistical Association, 50(272),
1096-1121.
platform_design2(nt = 30, K = 2, M = 2, fwer = 0.025, marginal.power = 0.8, delta = 0.4) #$design_Karm # K n1 n0_1 N1 z_alpha1 FWER1 z_beta1 Power1 cor0 delta # 1 2 101 143 345 2.220604 0.025 0.8416212 0.9222971 0.4142136 0.4 # #$designs # n2 n0_2 nt n0t nc N2 #39 107 198 30 43 241 669 #40 106 202 30 43 245 669 #41 105 206 30 43 249 669 #42 104 210 30 43 253 669 # # A1 A2 cor1 cor2 critical_value2 #39 1.414214 2.012987 0.3508197 0.2746316 2.475233 #40 1.414214 2.092105 0.3441558 0.2708949 2.475790 #41 1.414214 2.173333 0.3376206 0.2671464 2.476330 #42 1.414214 2.256757 0.3312102 0.2633910 2.476854 # # marginal.power2 disjunctive.power2 #39 0.8001100 0.9853799 #40 0.8003363 0.9857541 #41 0.8003878 0.9860900 #42 0.8002699 0.9863903 # # FWER2 delta save #39 0.025 0.4 21 #40 0.025 0.4 21 #41 0.025 0.4 21 #42 0.025 0.4 21
platform_design2(nt = 30, K = 2, M = 2, fwer = 0.025, marginal.power = 0.8, delta = 0.4) #$design_Karm # K n1 n0_1 N1 z_alpha1 FWER1 z_beta1 Power1 cor0 delta # 1 2 101 143 345 2.220604 0.025 0.8416212 0.9222971 0.4142136 0.4 # #$designs # n2 n0_2 nt n0t nc N2 #39 107 198 30 43 241 669 #40 106 202 30 43 245 669 #41 105 206 30 43 249 669 #42 104 210 30 43 253 669 # # A1 A2 cor1 cor2 critical_value2 #39 1.414214 2.012987 0.3508197 0.2746316 2.475233 #40 1.414214 2.092105 0.3441558 0.2708949 2.475790 #41 1.414214 2.173333 0.3376206 0.2671464 2.476330 #42 1.414214 2.256757 0.3312102 0.2633910 2.476854 # # marginal.power2 disjunctive.power2 #39 0.8001100 0.9853799 #40 0.8003363 0.9857541 #41 0.8003878 0.9860900 #42 0.8002699 0.9863903 # # FWER2 delta save #39 0.025 0.4 21 #40 0.025 0.4 21 #41 0.025 0.4 21 #42 0.025 0.4 21