We simulate data from a discrete distribution for the Rankin scores, which are ordinal integers from 0 to 6 in the following simulations. So we define a few scenarios.
library(ASSISTant)
null.uniform <- rep(1, 7L) ## uniform on 7 support points
hourglass <- c(1, 2, 2, 1, 2, 2, 1)
inverted.hourglass <- c(2, 1, 1, 2, 1, 1, 2)
bottom.heavy <- c(2, 2, 2, 1, 1, 1, 1)
bottom.heavier <- c(3, 3, 2, 2, 1, 1, 1)
top.heavy <- c(1, 1, 1, 1, 2, 2, 2)
top.heavier <- c(1, 1, 1, 2, 2, 3, 3)
ctlDist <- null.uniform
trtDist <- cbind(null.uniform, null.uniform, null.uniform,
hourglass, hourglass, hourglass)
##d <- generateDiscreteRankinScores(rep(1, 6), 10, ctlDist, trtDist)
This is the null setting.
data(LLL.SETTINGS)
designParameters <- list(prevalence = rep(1/6, 6),
ctlDist = ctlDist,
trtDist = trtDist)
designA <- ASSISTDesign$new(trialParameters = LLL.SETTINGS$trialParameters,
designParameters = designParameters, discreteData = TRUE)
print(designA)
## Design Parameters:
## Number of Groups: 6
## Prevalence:
##
## | Group1| Group2| Group3| Group4| Group5| Group6|
## |---------:|---------:|---------:|---------:|---------:|---------:|
## | 0.1666667| 0.1666667| 0.1666667| 0.1666667| 0.1666667| 0.1666667|
##
## Using Discrete Rankin scores? TRUE
##
## Null Rankin Distribution:
##
## | | Group1| Group2| Group3| Group4| Group5| Group6|
## |:--|---------:|---------:|---------:|---------:|---------:|---------:|
## |0 | 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571|
## |1 | 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571|
## |2 | 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571|
## |3 | 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571|
## |4 | 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571|
## |5 | 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571|
## |6 | 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571| 0.1428571|
## Null Mean and SD
##
## | | Group1| Group2| Group3| Group4| Group5| Group6|
## |:----|------:|------:|------:|------:|------:|------:|
## |mean | 3| 3| 3| 3| 3| 3|
## |sd | 2| 2| 2| 2| 2| 2|
## Alternative Rankin Distribution:
##
##
## | | Group1| Group2| Group3| Group4| Group5| Group6|
## |:--|---------:|---------:|---------:|---------:|---------:|---------:|
## |0 | 0.1428571| 0.1428571| 0.1428571| 0.0909091| 0.0909091| 0.0909091|
## |1 | 0.1428571| 0.1428571| 0.1428571| 0.1818182| 0.1818182| 0.1818182|
## |2 | 0.1428571| 0.1428571| 0.1428571| 0.1818182| 0.1818182| 0.1818182|
## |3 | 0.1428571| 0.1428571| 0.1428571| 0.0909091| 0.0909091| 0.0909091|
## |4 | 0.1428571| 0.1428571| 0.1428571| 0.1818182| 0.1818182| 0.1818182|
## |5 | 0.1428571| 0.1428571| 0.1428571| 0.1818182| 0.1818182| 0.1818182|
## |6 | 0.1428571| 0.1428571| 0.1428571| 0.0909091| 0.0909091| 0.0909091|
## Alternative Mean and SD
##
## | | Group1| Group2| Group3| Group4| Group5| Group6|
## |:----|------:|------:|------:|--------:|--------:|--------:|
## |mean | 3| 3| 3| 3.000000| 3.000000| 3.000000|
## |sd | 2| 2| 2| 1.858641| 1.858641| 1.858641|
##
## 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:
##
##
## | btilde| b| c|
## |---------:|--------:|--------:|
## | -1.460993| 2.390404| 2.491775|
result <- designA$explore(numberOfSimulations = 5000, showProgress = FALSE)
analysis <- designA$analyze(result)
print(designA$summary(analysis))
## P(Reject H0_ITT) = 0.017200; P(Reject H0_subgp) = 0.021800; P(Reject H0) = 0.039000
## P(Early stop for efficacy [futility]) = 0.024400 [0.568800]
## Mean [SD] Randomized N = 419.620000 [76.093453]
##
## Stage at exit (proportion)
##
##
## | exitStage| proportion|
## |---------:|----------:|
## | 1| 0.2106|
## | 2| 0.3826|
## | 3| 0.4068|
##
## Mean [SD] Lost N = 183.574400 [92.930368]
## Mean [SD] Analyzed N = 236.045600 [97.620219]
##
## Mean loss by futility stage and subgroup
##
##
## | FutilityStage| selectedGroup| mean| sd|
## |-------------:|-------------:|---------:|---------:|
## | 1| 1| 250.28419| 6.348342|
## | 1| 2| 200.61538| 8.317006|
## | 1| 3| 150.09895| 8.528229|
## | 1| 4| 100.22222| 8.528198|
## | 1| 5| 50.00383| 6.256512|
## | 2| 1| 332.21970| 6.692042|
## | 2| 2| 266.84762| 9.663354|
## | 2| 3| 201.28723| 10.548019|
## | 2| 4| 132.33628| 9.354726|
## | 2| 5| 66.10778| 7.323037|
## | 3| 1| 416.92357| 8.126832|
## | 3| 2| 332.46825| 9.598072|
## | 3| 3| 249.78462| 10.513177|
## | 3| 4| 166.63415| 10.659841|
## | 3| 5| 82.41924| 8.427552|
##
## Chance of each subpopulation rejected
##
##
## | group| count| proportion|
## |-----:|-----:|----------:|
## | 1| 40| 0.0080|
## | 2| 30| 0.0060|
## | 3| 18| 0.0036|
## | 4| 13| 0.0026|
## | 5| 8| 0.0016|
## | 6| 86| 0.0172|
##
## Counts by futility stage and subgroup choice
##
##
## | FutilityStage| G1| G2| G3| G4| G5|
## |-------------:|----:|---:|---:|---:|---:|
## | 1| 1309| 715| 475| 414| 522|
## | 2| 132| 105| 94| 113| 167|
## | 3| 157| 126| 130| 164| 291|
##
## CI Statistics:
## Overall coverage and coverage for rejections:
##
## | overall| rejection|
## |-------:|---------:|
## | 1| 1|
##
## P(theta_test is in the confidence interval)
##
##
## | coverage| selectedCount| rejectedCount|
## |--------:|-------------:|-------------:|
## | 1| 1598| 40|
## | 1| 946| 30|
## | 1| 699| 18|
## | 1| 691| 13|
## | 1| 980| 8|
## | 1| 86| 86|
## NULL