ASSISTant
is an R package for Adaptive Subgroup Selection In Sequential Trials. This vignette reproduces all the simulations in the original paper of Lai, Lavori and Liao [-@Lai2014191].
library(ASSISTant)
data(LLL.SETTINGS)
str(LLL.SETTINGS)
## List of 3
## $ trialParameters:List of 4
## ..$ N : num [1:3] 300 400 500
## ..$ type1Error: num 0.05
## ..$ eps : num 0.5
## ..$ type2Error: num 0.2
## $ scenarios :List of 11
## ..$ S0 :List of 2
## .. ..$ mean: num [1:2, 1:6] 0 0 0 0 0 0 0 0 0 0 ...
## .. ..$ sd : num [1:2, 1:6] 1 1 1 1 1 1 1 1 1 1 ...
## ..$ S1 :List of 2
## .. ..$ mean: num [1:2, 1:6] 0 0.3 0 0.3 0 0.3 0 0.3 0 0.3 ...
## .. ..$ sd : num [1:2, 1:6] 1 1 1 1 1 1 1 1 1 1 ...
## ..$ S2 :List of 2
## .. ..$ mean: num [1:2, 1:6] 0 0.3 0 0.3 0 0.3 0 0.3 0 0.3 ...
## .. ..$ sd : num [1:2, 1:6] 1 1 1 1 1 1 1 1 1 1 ...
## ..$ S3 :List of 2
## .. ..$ mean: num [1:2, 1:6] 0 0.3 0 0.3 0 0 0 0 0 0 ...
## .. ..$ sd : num [1:2, 1:6] 1 1 1 1 1 1 1 1 1 1 ...
## ..$ S4 :List of 2
## .. ..$ mean: num [1:2, 1:6] 0 0 0 0 0 0.3 0 0.3 0 0 ...
## .. ..$ sd : num [1:2, 1:6] 1 1 1 1 1 1 1 1 1 1 ...
## ..$ S5 :List of 2
## .. ..$ mean: num [1:2, 1:6] 0 0.6 0 0 0 0 0 0 0 0 ...
## .. ..$ sd : num [1:2, 1:6] 1 1 1 1 1 1 1 1 1 1 ...
## ..$ S6 :List of 2
## .. ..$ mean: num [1:2, 1:6] 0 0.5 0 0 0 0 0 0 0 0 ...
## .. ..$ sd : num [1:2, 1:6] 1 1 1 1 1 1 1 1 1 1 ...
## ..$ S7 :List of 2
## .. ..$ mean: num [1:2, 1:6] 0 0.5 0 0.4 0 0.3 0 0 0 0 ...
## .. ..$ sd : num [1:2, 1:6] 1 1 1 1 1 1 1 1 1 1 ...
## ..$ S8 :List of 2
## .. ..$ mean: num [1:2, 1:6] 0 0.5 0 0.4 0 0.3 0 0 0 0 ...
## .. ..$ sd : num [1:2, 1:6] 1 2 1 1.5 1 1 1 0.5 1 0.5 ...
## ..$ S9 :List of 2
## .. ..$ mean: num [1:2, 1:6] 0 0.5 0 0.4 0 0.3 0 0 0 0 ...
## .. ..$ sd : num [1:2, 1:6] 1 0.5 1 1 1 1.5 1 2 1 2 ...
## ..$ S10:List of 2
## .. ..$ mean: num [1:2, 1:6] 0 0 0 0 0 0 0 0.3 0 0.4 ...
## .. ..$ sd : num [1:2, 1:6] 1 1 1 1 1 1 1 1 1 1 ...
## $ prevalences :List of 2
## ..$ table1: num [1:6] 0.167 0.167 0.167 0.167 0.167 ...
## ..$ table2: num [1:6] 0.2 0.1 0.3 0.1 0.1 0.2
The LLL.SETTINGS
list contains all the scenarios described in the paper.
This is the null setting.
scenario <- LLL.SETTINGS$scenarios$S0
designParameters <- list(prevalence = LLL.SETTINGS$prevalences$table1,
mean = scenario$mean,
sd = scenario$sd)
designA <- ASSISTDesign$new(trialParameters = LLL.SETTINGS$trialParameters,
designParameters = designParameters)
print(designA)
## Design Parameters:
## List of 4
## $ prevalence: num [1:6] 0.167 0.167 0.167 0.167 0.167 ...
## $ mean : num [1:2, 1:6] 0 0 0 0 0 0 0 0 0 0 ...
## $ sd : num [1:2, 1:6] 1 1 1 1 1 1 1 1 1 1 ...
## $ J : int 6
## Trial Parameters:
## List of 5
## $ N : num [1:3] 300 400 500
## $ type1Error: num 0.05
## $ eps : num 0.5
## $ type2Error: num 0.2
## $ effectSize: num 0.0642
## Boundaries:
## Named num [1:3] -1.46 2.39 2.31
## - attr(*, "names")= chr [1:3] "btilde" "b" "c"
## Data Generating function:
## function (prevalence = rep(1/6, 6), N, mean = matrix(0, 2, 6),
## sd = matrix(1, 2, 6))
## {
## if (N == 0) {
## data.frame(subGroup = integer(0), trt = integer(0), score = numeric(0))
## }
## else {
## subGroup <- sample(seq_along(prevalence), N, replace = TRUE,
## prob = prevalence)
## trt <- sample(c(0L, 1L), N, replace = TRUE)
## rankin <- unlist(Map(function(i, j) rnorm(n = 1, mean = mean[i,
## j], sd = sd[i, j]), trt + 1, subGroup))
## data.frame(subGroup = subGroup, trt = trt, score = rankin)
## }
## }
## <environment: 0x7f978448ecd8>
result <- designA$explore(numberOfSimulations = 5000, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.020800; P(Reject H0_subgp) = 0.028800; P(Reject H0) = 0.049600
## P(Early stop for efficacy [futility]) = 0.022400 [0.546000]
## Mean [SD] Randomized N = 423.620000 [75.585966]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.1954 0.3730 0.4316
##
## Mean [SD] Lost N = 182.744400 [92.484637]
## Mean [SD] Analyzed N = 240.875600 [97.831860]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0112 0.0074 0.0038 0.0040 0.0024 0.0208
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 104 0 0 0 0 0
## 1 0 1288 684 475 403 512
## 2 0 171 108 103 108 161
## 3 0 124 131 144 167 317
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 250.0349 199.9766 150.8758 99.89578 49.82227
## 2 NA 333.4211 266.9907 198.9320 133.25000 67.21739
## 3 NA 415.7419 334.0763 251.3125 166.86228 83.70978
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.618792 7.969894 8.513785 7.588552 6.422628
## 2 NA 7.820668 9.680403 9.339209 9.783760 7.462151
## 3 NA 8.264796 10.621182 11.531937 10.157148 7.999466
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.618792 7.969894 8.513785 7.588552 6.422628
## 2 NA 7.820668 9.680403 9.339209 9.783760 7.462151
## 3 NA 8.264796 10.621182 11.531937 10.157148 7.999466
scenario <- LLL.SETTINGS$scenarios$S1
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table1,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000,
trueParameters = trueParameters, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.851000; P(Reject H0_subgp) = 0.039400; P(Reject H0) = 0.890400
## P(Early stop for efficacy [futility]) = 0.736400 [0.006200]
## Mean [SD] Randomized N = 370.660000 [84.985934]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.5508 0.1918 0.2574
##
## Mean [SD] Lost N = 25.749200 [74.552252]
## Mean [SD] Analyzed N = 344.910800 [81.193390]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0088 0.0094 0.0056 0.0058 0.0098 0.8510
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 4255 0 0 0 0 0
## 1 0 25 30 8 13 25
## 2 0 8 6 4 2 7
## 3 0 56 67 58 123 313
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 252.0800 200.1667 145.8750 99.76923 48.00000
## 2 NA 335.6250 266.1667 188.7500 137.00000 73.42857
## 3 NA 416.1964 332.8657 248.1034 166.67480 84.50479
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.775692 8.309045 9.627898 7.372854 7.216878
## 2 NA 8.227784 9.621157 6.994045 8.485281 11.385036
## 3 NA 8.109298 10.438704 12.771528 9.996307 8.355146
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.775692 8.309045 9.627898 7.372854 7.216878
## 2 NA 8.227784 9.621157 6.994045 8.485281 11.385036
## 3 NA 8.109298 10.438704 12.771528 9.996307 8.355146
scenario <- LLL.SETTINGS$scenarios$S2
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table1,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000,
trueParameters = trueParameters, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.698200; P(Reject H0_subgp) = 0.153600; P(Reject H0) = 0.851800
## P(Early stop for efficacy [futility]) = 0.575000 [0.007400]
## Mean [SD] Randomized N = 402.800000 [89.809650]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.3896 0.1928 0.4176
##
## Mean [SD] Lost N = 47.777600 [90.575998]
## Mean [SD] Analyzed N = 355.022400 [89.191009]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0206 0.0170 0.0234 0.0340 0.0586 0.6982
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 3491 0 0 0 0 0
## 1 0 60 35 34 47 57
## 2 0 18 13 16 16 35
## 3 0 68 94 136 237 643
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 250.9167 198.7429 150.9412 101.9149 52.40351
## 2 NA 332.3333 267.0000 202.8750 129.8750 67.62857
## 3 NA 415.4853 333.5957 249.3162 166.4810 83.74806
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 7.016425 9.810987 6.768650 7.563729 7.121044
## 2 NA 7.046067 6.271629 9.660055 7.948794 7.944979
## 3 NA 8.508981 8.793105 10.071377 9.921549 8.197065
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 7.016425 9.810987 6.768650 7.563729 7.121044
## 2 NA 7.046067 6.271629 9.660055 7.948794 7.944979
## 3 NA 8.508981 8.793105 10.071377 9.921549 8.197065
scenario <- LLL.SETTINGS$scenarios$S3
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table1,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000,
trueParameters = trueParameters, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.135600; P(Reject H0_subgp) = 0.521400; P(Reject H0) = 0.657000
## P(Early stop for efficacy [futility]) = 0.308800 [0.036000]
## Mean [SD] Randomized N = 456.100000 [65.936784]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.0942 0.2506 0.6552
##
## Mean [SD] Lost N = 210.730600 [118.435887]
## Mean [SD] Analyzed N = 245.369400 [107.428514]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.1468 0.2852 0.0600 0.0222 0.0072 0.1356
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 678 0 0 0 0 0
## 1 0 556 777 245 121 82
## 2 0 118 273 84 45 41
## 3 0 299 921 333 222 205
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 250.4550 200.4196 151.1551 101.7273 48.87805
## 2 NA 333.3136 266.7509 199.7976 135.6222 68.36585
## 3 NA 416.5117 332.1900 249.7868 165.3198 83.49756
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.366562 8.099671 7.779783 8.392457 5.980194
## 2 NA 7.442887 9.320491 9.353538 9.707750 6.788800
## 3 NA 8.531172 10.346484 10.897366 10.088364 8.656078
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.366562 8.099671 7.779783 8.392457 5.980194
## 2 NA 7.442887 9.320491 9.353538 9.707750 6.788800
## 3 NA 8.531172 10.346484 10.897366 10.088364 8.656078
scenario <- LLL.SETTINGS$scenarios$S4
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table1,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000,
trueParameters = trueParameters, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.149600; P(Reject H0_subgp) = 0.115800; P(Reject H0) = 0.265400
## P(Early stop for efficacy [futility]) = 0.115800 [0.217600]
## Mean [SD] Randomized N = 451.000000 [75.047494]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.1566 0.1768 0.6666
##
## Mean [SD] Lost N = 120.407600 [84.462635]
## Mean [SD] Analyzed N = 330.592400 [91.630368]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0058 0.0018 0.0136 0.0784 0.0162 0.1496
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 748 0 0 0 0 0
## 1 0 291 89 265 717 408
## 2 0 59 15 71 242 131
## 3 0 70 22 140 1022 710
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 250.0825 199.4157 150.3057 100.1199 49.98284
## 2 NA 333.3390 264.4667 198.5211 132.8182 66.63359
## 3 NA 415.5286 334.1818 250.0143 166.7260 83.19859
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.750740 8.487704 8.415858 8.20186 6.550293
## 2 NA 6.629636 8.331238 9.503171 9.84949 7.634140
## 3 NA 8.823095 12.628902 13.577905 10.88023 8.284180
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.750740 8.487704 8.415858 8.20186 6.550293
## 2 NA 6.629636 8.331238 9.503171 9.84949 7.634140
## 3 NA 8.823095 12.628902 13.577905 10.88023 8.284180
scenario <- LLL.SETTINGS$scenarios$S5
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table1,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000,
trueParameters = trueParameters, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.130800; P(Reject H0_subgp) = 0.737400; P(Reject H0) = 0.868200
## P(Early stop for efficacy [futility]) = 0.465800 [0.009200]
## Mean [SD] Randomized N = 438.920000 [71.374032]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.1358 0.3392 0.5250
##
## Mean [SD] Lost N = 262.612800 [134.059051]
## Mean [SD] Analyzed N = 176.307200 [119.411141]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.6070 0.0900 0.0258 0.0102 0.0044 0.1308
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 654 0 0 0 0 0
## 1 0 1468 234 102 53 22
## 2 0 454 77 30 17 7
## 3 0 1368 226 118 85 85
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 250.8563 200.8248 152.1275 100.6792 50.45455
## 2 NA 333.8304 268.4286 198.7667 132.0588 63.57143
## 3 NA 415.7507 333.0973 252.2542 166.3647 82.77647
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.406513 7.907137 8.52448 7.770194 5.893720
## 2 NA 7.446637 10.905610 11.80206 9.672581 4.466809
## 3 NA 8.303409 9.439835 11.19996 10.055616 7.946812
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.406513 7.907137 8.52448 7.770194 5.893720
## 2 NA 7.446637 10.905610 11.80206 9.672581 4.466809
## 3 NA 8.303409 9.439835 11.19996 10.055616 7.946812
scenario <- LLL.SETTINGS$scenarios$S6
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table1,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000,
trueParameters = trueParameters, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.102400; P(Reject H0_subgp) = 0.682200; P(Reject H0) = 0.784600
## P(Early stop for efficacy [futility]) = 0.439600 [0.023000]
## Mean [SD] Randomized N = 442.640000 [68.313716]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.1110 0.3516 0.5374
##
## Mean [SD] Lost N = 257.180800 [127.751085]
## Mean [SD] Analyzed N = 185.459200 [114.446426]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.5538 0.0858 0.0226 0.0144 0.0056 0.1024
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 512 0 0 0 0 0
## 1 0 1486 277 126 69 68
## 2 0 466 89 43 28 31
## 3 0 1170 252 123 133 127
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 250.7019 201.5523 150.1349 99.33333 50.85294
## 2 NA 334.0322 267.0674 200.9070 133.14286 64.09677
## 3 NA 416.1829 333.6587 249.3496 167.07519 83.56693
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.372655 8.076287 8.490327 7.327761 7.334777
## 2 NA 7.022624 9.911882 9.543918 8.955504 7.921931
## 3 NA 8.408459 11.394528 10.752799 11.718688 8.589021
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.372655 8.076287 8.490327 7.327761 7.334777
## 2 NA 7.022624 9.911882 9.543918 8.955504 7.921931
## 3 NA 8.408459 11.394528 10.752799 11.718688 8.589021
scenario <- LLL.SETTINGS$scenarios$S7
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table1,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000,
trueParameters = trueParameters, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.480800; P(Reject H0_subgp) = 0.444000; P(Reject H0) = 0.924800
## P(Early stop for efficacy [futility]) = 0.480200 [0.002600]
## Mean [SD] Randomized N = 425.980000 [84.097884]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.2574 0.2254 0.5172
##
## Mean [SD] Lost N = 131.918800 [140.074780]
## Mean [SD] Analyzed N = 294.061200 [112.524720]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0740 0.1336 0.1998 0.0304 0.0062 0.4808
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 2404 0 0 0 0 0
## 1 0 155 177 197 38 13
## 2 0 46 67 92 14 3
## 3 0 217 475 851 166 85
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 250.4387 200.9605 152.3096 100.1316 48.07692
## 2 NA 333.4348 266.9104 201.9022 137.7143 66.00000
## 3 NA 416.6359 333.3368 250.4324 167.3012 84.87059
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.536694 7.685111 8.749377 8.057801 6.370002
## 2 NA 6.718638 8.843301 8.730469 13.413131 6.082763
## 3 NA 8.451452 10.745827 11.227952 10.832314 8.179225
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.536694 7.685111 8.749377 8.057801 6.370002
## 2 NA 6.718638 8.843301 8.730469 13.413131 6.082763
## 3 NA 8.451452 10.745827 11.227952 10.832314 8.179225
scenario <- LLL.SETTINGS$scenarios$S8
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table1,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000,
trueParameters = trueParameters, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.298000; P(Reject H0_subgp) = 0.448200; P(Reject H0) = 0.746200
## P(Early stop for efficacy [futility]) = 0.336800 [0.018200]
## Mean [SD] Randomized N = 449.560000 [74.087139]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.1494 0.2056 0.6450
##
## Mean [SD] Lost N = 160.045200 [125.504355]
## Mean [SD] Analyzed N = 289.514800 [105.149849]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0820 0.0958 0.2216 0.0388 0.0100 0.2980
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 1490 0 0 0 0 0
## 1 0 254 207 376 94 49
## 2 0 68 88 168 45 25
## 3 0 185 362 1126 255 208
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 250.0118 200.2657 150.7660 101.4894 49.79592
## 2 NA 333.3088 264.6705 201.2679 133.2889 65.44000
## 3 NA 416.2162 333.0359 250.2229 166.7294 83.51442
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.484693 8.103813 9.232321 7.446937 6.123655
## 2 NA 7.513684 10.747597 10.164205 11.381049 8.612394
## 3 NA 8.488276 10.373434 10.980348 9.545649 8.777980
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.484693 8.103813 9.232321 7.446937 6.123655
## 2 NA 7.513684 10.747597 10.164205 11.381049 8.612394
## 3 NA 8.488276 10.373434 10.980348 9.545649 8.777980
scenario <- LLL.SETTINGS$scenarios$S9
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table1,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000,
trueParameters = trueParameters, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.530400; P(Reject H0_subgp) = 0.432800; P(Reject H0) = 0.963200
## P(Early stop for efficacy [futility]) = 0.524200 [0.000600]
## Mean [SD] Randomized N = 417.440000 [86.355879]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.3008 0.2240 0.4752
##
## Mean [SD] Lost N = 132.208800 [152.145336]
## Mean [SD] Analyzed N = 285.231200 [124.840298]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.1170 0.1670 0.1214 0.0214 0.0060 0.5304
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 2652 0 0 0 0 0
## 1 0 210 174 110 18 7
## 2 0 58 78 53 6 2
## 3 0 354 627 488 119 44
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 250.7952 201.5632 151.7455 102.1111 50.85714
## 2 NA 332.7414 268.1923 202.2075 135.5000 64.00000
## 3 NA 416.8136 333.7321 250.5082 166.9496 82.40909
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.208574 8.632780 9.515257 7.38750 4.775932
## 2 NA 6.530792 8.453168 9.574322 12.09545 8.485281
## 3 NA 7.978316 9.893441 10.922535 11.23241 8.167770
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.208574 8.632780 9.515257 7.38750 4.775932
## 2 NA 6.530792 8.453168 9.574322 12.09545 8.485281
## 3 NA 7.978316 9.893441 10.922535 11.23241 8.167770
scenario <- LLL.SETTINGS$scenarios$S10
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table1,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000,
trueParameters = trueParameters, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.473800; P(Reject H0_subgp) = 0.003800; P(Reject H0) = 0.477600
## P(Early stop for efficacy [futility]) = 0.343400 [0.131200]
## Mean [SD] Randomized N = 423.760000 [86.999863]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.2878 0.1868 0.5254
##
## Mean [SD] Lost N = 71.784800 [103.273048]
## Mean [SD] Analyzed N = 351.975200 [108.378847]
##
## Chance of each subpopulation rejected
##
## 1 2 5 6
## 0.0020 0.0004 0.0014 0.4738
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 2369 0 0 0 0 0
## 1 0 207 80 11 41 251
## 2 0 51 16 5 14 127
## 3 0 185 75 13 76 1479
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 249.5990 200.2250 151.4545 98.43902 48.83267
## 2 NA 334.6275 268.1875 189.0000 135.64286 65.04724
## 3 NA 417.5622 334.4933 249.0769 166.14474 82.90534
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.323680 7.372503 9.973602 7.609365 6.664225
## 2 NA 7.969845 8.549610 4.358899 9.818406 7.299552
## 3 NA 8.621742 10.844569 9.068825 11.053451 8.437895
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.323680 7.372503 9.973602 7.609365 6.664225
## 2 NA 7.969845 8.549610 4.358899 9.818406 7.299552
## 3 NA 8.621742 10.844569 9.068825 11.053451 8.437895
scenario <- LLL.SETTINGS$scenarios$S0
designParameters <- list(prevalence = LLL.SETTINGS$prevalences$table2,
mean = scenario$mean,
sd = scenario$sd)
designA <- ASSISTDesign$new(trialParameters = LLL.SETTINGS$trialParameters,
designParameters = designParameters)
print(designA)
## Design Parameters:
## List of 4
## $ prevalence: num [1:6] 0.2 0.1 0.3 0.1 0.1 0.2
## $ mean : num [1:2, 1:6] 0 0 0 0 0 0 0 0 0 0 ...
## $ sd : num [1:2, 1:6] 1 1 1 1 1 1 1 1 1 1 ...
## $ J : int 6
## Trial Parameters:
## List of 5
## $ N : num [1:3] 300 400 500
## $ type1Error: num 0.05
## $ eps : num 0.5
## $ type2Error: num 0.2
## $ effectSize: num 0.0642
## Boundaries:
## Named num [1:3] -1.46 2.37 2.28
## - attr(*, "names")= chr [1:3] "btilde" "b" "c"
## Data Generating function:
## function (prevalence = rep(1/6, 6), N, mean = matrix(0, 2, 6),
## sd = matrix(1, 2, 6))
## {
## if (N == 0) {
## data.frame(subGroup = integer(0), trt = integer(0), score = numeric(0))
## }
## else {
## subGroup <- sample(seq_along(prevalence), N, replace = TRUE,
## prob = prevalence)
## trt <- sample(c(0L, 1L), N, replace = TRUE)
## rankin <- unlist(Map(function(i, j) rnorm(n = 1, mean = mean[i,
## j], sd = sd[i, j]), trt + 1, subGroup))
## data.frame(subGroup = subGroup, trt = trt, score = rankin)
## }
## }
## <environment: 0x7f978449d8b0>
result <- designA$explore(numberOfSimulations = 5000, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.023800; P(Reject H0_subgp) = 0.028200; P(Reject H0) = 0.052000
## P(Early stop for efficacy [futility]) = 0.028600 [0.556200]
## Mean [SD] Randomized N = 419.720000 [77.099354]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.2180 0.3668 0.4152
##
## Mean [SD] Lost N = 175.847800 [88.704694]
## Mean [SD] Analyzed N = 243.872200 [96.495856]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0104 0.0078 0.0048 0.0028 0.0024 0.0238
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 119 0 0 0 0 0
## 1 0 1150 789 547 404 481
## 2 0 168 118 92 99 161
## 3 0 124 128 145 186 289
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 239.9670 210.6439 120.1974 89.64356 60.21414
## 2 NA 319.8810 279.8814 159.6522 121.24242 79.25466
## 3 NA 399.6048 349.1094 200.0276 150.42473 99.35986
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 7.097159 7.551425 8.753511 7.931886 6.894283
## 2 NA 7.049703 8.071443 9.765869 9.379843 8.208440
## 3 NA 8.551916 9.301794 9.901561 10.887991 8.470245
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 7.097159 7.551425 8.753511 7.931886 6.894283
## 2 NA 7.049703 8.071443 9.765869 9.379843 8.208440
## 3 NA 8.551916 9.301794 9.901561 10.887991 8.470245
scenario <- LLL.SETTINGS$scenarios$S1
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table2,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000, trueParameters = trueParameters,
showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.847600; P(Reject H0_subgp) = 0.042800; P(Reject H0) = 0.890400
## P(Early stop for efficacy [futility]) = 0.736000 [0.005200]
## Mean [SD] Randomized N = 370.040000 [85.298614]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.5584 0.1828 0.2588
##
## Mean [SD] Lost N = 26.855200 [74.328729]
## Mean [SD] Analyzed N = 343.184800 [79.284217]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0092 0.0072 0.0090 0.0078 0.0096 0.8476
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 4238 0 0 0 0 0
## 1 0 32 19 16 16 28
## 2 0 6 4 10 4 8
## 3 0 55 68 105 122 269
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 240.0625 209.7895 119.0625 90.7500 59.92857
## 2 NA 322.6667 275.0000 160.6000 121.7500 78.62500
## 3 NA 400.4727 349.3971 199.7238 149.9918 99.47955
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 7.228695 4.491708 9.615742 10.207840 8.013547
## 2 NA 8.710147 7.874008 13.023056 7.675719 5.998512
## 3 NA 9.301244 10.217252 12.008407 10.350467 9.614809
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 7.228695 4.491708 9.615742 10.207840 8.013547
## 2 NA 8.710147 7.874008 13.023056 7.675719 5.998512
## 3 NA 9.301244 10.217252 12.008407 10.350467 9.614809
scenario <- LLL.SETTINGS$scenarios$S2
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table2,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000, trueParameters = trueParameters,
showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.668000; P(Reject H0_subgp) = 0.185600; P(Reject H0) = 0.853600
## P(Early stop for efficacy [futility]) = 0.540000 [0.007000]
## Mean [SD] Randomized N = 409.060000 [89.852830]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.3624 0.1846 0.4530
##
## Mean [SD] Lost N = 52.625200 [90.667339]
## Mean [SD] Analyzed N = 356.434800 [88.008388]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0202 0.0206 0.0334 0.0392 0.0722 0.6680
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 3340 0 0 0 0 0
## 1 0 48 49 56 47 85
## 2 0 19 14 20 17 34
## 3 0 82 89 193 273 634
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 240.7708 208.2245 120.3571 91.48936 59.72941
## 2 NA 320.6316 281.7143 161.8500 118.11765 79.94118
## 3 NA 401.4146 348.2921 200.7150 150.54945 100.15457
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.993126 8.357295 8.930904 8.579228 6.559958
## 2 NA 8.267813 12.596877 13.051618 7.647568 8.268015
## 3 NA 9.581298 10.217189 10.987997 10.467313 9.387805
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.993126 8.357295 8.930904 8.579228 6.559958
## 2 NA 8.267813 12.596877 13.051618 7.647568 8.268015
## 3 NA 9.581298 10.217189 10.987997 10.467313 9.387805
scenario <- LLL.SETTINGS$scenarios$S3
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table2,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000, trueParameters = trueParameters,
showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.113200; P(Reject H0_subgp) = 0.531400; P(Reject H0) = 0.644600
## P(Early stop for efficacy [futility]) = 0.319000 [0.045200]
## Mean [SD] Randomized N = 454.540000 [65.484701]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.0904 0.2738 0.6358
##
## Mean [SD] Lost N = 218.420600 [117.568537]
## Mean [SD] Analyzed N = 236.119400 [107.535188]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.1744 0.3068 0.0280 0.0118 0.0104 0.1132
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 566 0 0 0 0 0
## 1 0 671 879 172 106 104
## 2 0 137 323 65 44 43
## 3 0 361 903 246 155 225
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 240.5738 210.6940 120.0640 91.82075 60.27885
## 2 NA 319.1022 280.7616 160.8154 121.15909 80.81395
## 3 NA 399.6288 349.4994 200.7967 150.63871 100.24000
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.678781 8.163944 8.349212 8.367508 6.558855
## 2 NA 8.230400 9.700266 9.147903 9.365804 9.063942
## 3 NA 9.233132 10.123722 11.298517 10.920542 10.079824
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.678781 8.163944 8.349212 8.367508 6.558855
## 2 NA 8.230400 9.700266 9.147903 9.365804 9.063942
## 3 NA 9.233132 10.123722 11.298517 10.920542 10.079824
scenario <- LLL.SETTINGS$scenarios$S4
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table2,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000, trueParameters = trueParameters,
showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.195800; P(Reject H0_subgp) = 0.134200; P(Reject H0) = 0.330000
## P(Early stop for efficacy [futility]) = 0.150200 [0.174800]
## Mean [SD] Randomized N = 451.220000 [75.866084]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.1628 0.1622 0.6750
##
## Mean [SD] Lost N = 109.077200 [77.113468]
## Mean [SD] Analyzed N = 342.142800 [84.126649]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0022 0.0012 0.0274 0.0728 0.0306 0.1958
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 979 0 0 0 0 0
## 1 0 219 76 300 567 328
## 2 0 42 17 102 223 131
## 3 0 50 20 309 931 706
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 239.9498 207.9342 120.3000 90.51146 60.03963
## 2 NA 318.7619 279.7059 160.1667 120.12556 78.34351
## 3 NA 398.4600 351.1000 198.8317 149.98281 99.69122
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.604991 7.965485 8.502803 8.419193 7.094919
## 2 NA 10.190406 10.372829 9.868525 9.239185 8.446001
## 3 NA 8.942469 10.119809 10.534922 10.259730 9.359236
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.604991 7.965485 8.502803 8.419193 7.094919
## 2 NA 10.190406 10.372829 9.868525 9.239185 8.446001
## 3 NA 8.942469 10.119809 10.534922 10.259730 9.359236
scenario <- LLL.SETTINGS$scenarios$S5
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table2,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000, trueParameters = trueParameters,
showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.195600; P(Reject H0_subgp) = 0.713800; P(Reject H0) = 0.909400
## P(Early stop for efficacy [futility]) = 0.462200 [0.004400]
## Mean [SD] Randomized N = 438.060000 [73.583417]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.1528 0.3138 0.5334
##
## Mean [SD] Lost N = 248.795200 [144.830404]
## Mean [SD] Analyzed N = 189.264800 [123.126642]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.5600 0.1268 0.0156 0.0064 0.0050 0.1956
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 978 0 0 0 0 0
## 1 0 1121 270 40 19 14
## 2 0 418 88 15 7 6
## 3 0 1491 352 79 44 58
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 241.0294 211.1481 121.1750 91.10526 60.64286
## 2 NA 320.1124 281.4091 162.2000 119.14286 81.16667
## 3 NA 399.2643 351.0682 200.3038 147.77273 100.25862
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.762952 7.707977 8.445565 7.294555 6.879257
## 2 NA 7.986156 8.245704 8.727624 6.039552 7.332576
## 3 NA 8.870428 10.269359 11.231086 10.308866 8.951253
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.762952 7.707977 8.445565 7.294555 6.879257
## 2 NA 7.986156 8.245704 8.727624 6.039552 7.332576
## 3 NA 8.870428 10.269359 11.231086 10.308866 8.951253
scenario <- LLL.SETTINGS$scenarios$S6
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table2,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000, trueParameters = trueParameters,
showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.136600; P(Reject H0_subgp) = 0.692400; P(Reject H0) = 0.829000
## P(Early stop for efficacy [futility]) = 0.449000 [0.019200]
## Mean [SD] Randomized N = 440.760000 [69.997159]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.1242 0.3440 0.5318
##
## Mean [SD] Lost N = 247.195400 [130.919339]
## Mean [SD] Analyzed N = 193.564600 [115.387085]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.5152 0.1412 0.0208 0.0100 0.0052 0.1366
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 683 0 0 0 0 0
## 1 0 1295 340 92 57 45
## 2 0 378 126 37 15 16
## 3 0 1210 384 132 92 98
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 240.7012 210.8382 121.5000 90.49123 59.93333
## 2 NA 320.6878 280.5635 160.5135 120.66667 81.50000
## 3 NA 399.6554 350.5234 199.4091 149.45652 98.68367
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 7.073436 7.793822 8.293384 6.141553 7.094812
## 2 NA 7.665273 9.226480 9.474004 7.217703 9.259230
## 3 NA 8.901227 10.542441 10.885213 10.102130 9.331906
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 7.073436 7.793822 8.293384 6.141553 7.094812
## 2 NA 7.665273 9.226480 9.474004 7.217703 9.259230
## 3 NA 8.901227 10.542441 10.885213 10.102130 9.331906
scenario <- LLL.SETTINGS$scenarios$S7
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table2,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000, trueParameters = trueParameters,
showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.616400; P(Reject H0_subgp) = 0.324200; P(Reject H0) = 0.940600
## P(Early stop for efficacy [futility]) = 0.539000 [0.002000]
## Mean [SD] Randomized N = 412.780000 [87.978518]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.3312 0.2098 0.4590
##
## Mean [SD] Lost N = 90.998800 [128.765710]
## Mean [SD] Analyzed N = 321.781200 [106.252298]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0570 0.0856 0.1388 0.0344 0.0084 0.6164
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 3082 0 0 0 0 0
## 1 0 100 89 99 29 9
## 2 0 33 43 52 8 6
## 3 0 188 348 657 187 70
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 239.8000 210.6067 121.0202 91.41379 62.55556
## 2 NA 320.4545 280.0930 161.3846 115.62500 80.33333
## 3 NA 399.6755 350.9684 200.8676 151.68449 100.65714
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.803148 7.415613 8.78540 7.608817 5.833333
## 2 NA 7.271910 9.159471 10.83776 10.835622 7.061633
## 3 NA 8.107964 10.574377 10.82183 10.725406 8.001604
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.803148 7.415613 8.78540 7.608817 5.833333
## 2 NA 7.271910 9.159471 10.83776 10.835622 7.061633
## 3 NA 8.107964 10.574377 10.82183 10.725406 8.001604
scenario <- LLL.SETTINGS$scenarios$S8
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table2,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000, trueParameters = trueParameters,
showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.439200; P(Reject H0_subgp) = 0.344800; P(Reject H0) = 0.784000
## P(Early stop for efficacy [futility]) = 0.400800 [0.015200]
## Mean [SD] Randomized N = 435.440000 [82.954100]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.2296 0.1864 0.5840
##
## Mean [SD] Lost N = 111.516000 [116.198891]
## Mean [SD] Analyzed N = 323.924000 [97.241110]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0530 0.0598 0.1840 0.0310 0.0170 0.4392
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 2196 0 0 0 0 0
## 1 0 145 138 259 67 45
## 2 0 46 42 118 28 21
## 3 0 142 217 1029 279 228
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 239.4690 210.5797 120.9266 90.89552 61.11111
## 2 NA 318.4783 279.9286 161.6864 118.92857 82.42857
## 3 NA 399.2465 349.3917 200.2235 149.26165 100.46053
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.477584 7.256320 8.233418 7.389867 8.197068
## 2 NA 7.289990 9.635789 8.946851 8.196334 7.440238
## 3 NA 8.464516 10.810169 10.870506 9.774416 9.339095
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.477584 7.256320 8.233418 7.389867 8.197068
## 2 NA 7.289990 9.635789 8.946851 8.196334 7.440238
## 3 NA 8.464516 10.810169 10.870506 9.774416 9.339095
scenario <- LLL.SETTINGS$scenarios$S9
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table2,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000, trueParameters = trueParameters,
showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.640200; P(Reject H0_subgp) = 0.330600; P(Reject H0) = 0.970800
## P(Early stop for efficacy [futility]) = 0.579400 [0.000400]
## Mean [SD] Randomized N = 405.700000 [88.334991]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.3632 0.2166 0.4202
##
## Mean [SD] Lost N = 100.585800 [146.244009]
## Mean [SD] Analyzed N = 305.114200 [120.049086]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.1026 0.1206 0.0790 0.0212 0.0072 0.6402
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 3201 0 0 0 0 0
## 1 0 125 108 53 16 6
## 2 0 59 50 20 4 1
## 3 0 358 474 364 108 53
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 241.0880 213.3148 122.0189 93.9375 62.33333
## 2 NA 321.2203 283.0400 162.7000 121.0000 76.00000
## 3 NA 400.7291 350.8987 200.8022 151.0278 100.05660
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.796603 7.434006 8.612358 6.855351 6.742897
## 2 NA 8.692184 9.191744 8.985954 12.909944 NA
## 3 NA 8.891931 10.011530 10.677305 9.887648 8.882600
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 6.796603 7.434006 8.612358 6.855351 6.742897
## 2 NA 8.692184 9.191744 8.985954 12.909944 NA
## 3 NA 8.891931 10.011530 10.677305 9.887648 8.882600
scenario <- LLL.SETTINGS$scenarios$S10
trueParameters <- list(prevalence = LLL.SETTINGS$prevalences$table2,
mean = scenario$mean,
sd = scenario$sd)
result <- designA$explore(numberOfSimulations = 5000, trueParameters = trueParameters,
showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.374600; P(Reject H0_subgp) = 0.005200; P(Reject H0) = 0.379800
## P(Early stop for efficacy [futility]) = 0.268200 [0.182000]
## Mean [SD] Randomized N = 429.860000 [84.378933]
##
## Stage at exit (proportion)
##
## 1 2 3
## 0.2512 0.1990 0.5498
##
## Mean [SD] Lost N = 108.164600 [122.564226]
## Mean [SD] Analyzed N = 321.695400 [117.585887]
##
## Chance of each subpopulation rejected
##
## 1 2 3 4 5 6
## 0.0030 0.0014 0.0004 0.0002 0.0002 0.3746
##
## Counts by futility stage and subgroup choice
##
## 0 1 2 3 4 5
## 0 1873 0 0 0 0 0
## 1 0 281 152 36 55 286
## 2 0 103 42 11 14 164
## 3 0 315 208 45 108 1307
##
## Mean loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 239.4270 208.8289 118.5556 90.29091 58.77273
## 2 NA 320.8641 281.6667 158.7273 119.50000 79.03659
## 3 NA 400.0952 350.7644 201.4000 149.78704 99.67100
##
## SD loss by futility stage and subgroup
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 7.191452 8.508489 8.181667 8.328160 6.800471
## 2 NA 9.140567 10.018682 9.166143 7.013723 8.384832
## 3 NA 8.530041 10.213058 10.041731 9.193711 8.726512
## 0 1 2 3 4 5
## 0 0 NA NA NA NA NA
## 1 NA 7.191452 8.508489 8.181667 8.328160 6.800471
## 2 NA 9.140567 10.018682 9.166143 7.013723 8.384832
## 3 NA 8.530041 10.213058 10.041731 9.193711 8.726512