Introduction

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.

Table 1 Results

Scenario S0

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: 0x7ff29ba45c00>
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

Alternative Scenario S1

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

Alternative Scenario S2

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

Alternative Scenario S3

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

Alternative Scenario S4

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

Alternative Scenario S5

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

Alternative Scenario S6

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

Alternative Scenario S7

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

Alternative Scenario S8

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

Alternative Scenario S9

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

Alternative Scenario S10

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

Table 2 Results

Scenario S0

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: 0x7ff29b88d468>
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

Alternative Scenario S1

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

Alternative Scenario S2

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

Alternative Scenario S3

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

Alternative Scenario S4

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

Alternative Scenario S5

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

Alternative Scenario S6

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

Alternative Scenario S7

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

Alternative Scenario S8

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

Alternative Scenario S9

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

Alternative Scenario S10

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