Test of the function gs_design_npe
Source:vignettes/check_gs_design_npe.Rmd
check_gs_design_npe.Rmd
Test 1: verify by gs_power_npe
new version
x <- gs_design_npe(theta = c(.1, .2, .3), info = (1:3) * 40, beta = 0.1,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL), binding = TRUE)
x %>% gt()
Analysis | Bound | Z | Probability | Probability0 | theta | IF | info | info0 | info1 |
---|---|---|---|---|---|---|---|---|---|
1 | Upper | 3.7103029 | 0.0010356481 | 0.0001035057 | 0.1 | 0.3333333 | 39.75157 | 39.75157 | 39.75157 |
1 | Lower | -3.0798144 | 0.0001035057 | 0.0010356481 | 0.1 | 0.3333333 | 39.75157 | 39.75157 | 39.75157 |
2 | Upper | 2.5114338 | 0.2332751723 | 0.0060483891 | 0.2 | 0.6666667 | 79.50314 | 79.50314 | 79.50314 |
2 | Lower | -0.7281431 | 0.0060483891 | 0.2332751723 | 0.2 | 0.6666667 | 79.50314 | 79.50314 | 79.50314 |
3 | Upper | 1.9930482 | 0.8999999998 | 0.0250000000 | 0.3 | 1.0000000 | 119.25471 | 119.25471 | 119.25471 |
3 | Lower | 1.2830660 | 0.0250000000 | 0.8999999998 | 0.3 | 1.0000000 | 119.25471 | 119.25471 | 119.25471 |
The power is 0.9. If we re-use these bounds under alternate hypothesis, then we can get a power close to 0.9.
gs_power_npe(theta = c(.1, .2, .3),info = (1:3) * 40,
upper = gs_b, upar = (x %>% filter(Bound == "Upper"))$Z,
lower = gs_b, lpar = -(x %>% filter(Bound == "Upper"))$Z,
binding = TRUE # Always use binding = TRUE for power calculations
) %>% gt()
Analysis | Bound | Z | Probability | theta | theta1 | IF | info | info0 | info1 |
---|---|---|---|---|---|---|---|---|---|
1 | Upper | 3.710303 | 1.042508e-03 | 0.1 | 0.1 | 0.3333333 | 40 | 40 | 40 |
2 | Upper | 2.511434 | 2.349812e-01 | 0.2 | 0.2 | 0.6666667 | 80 | 80 | 80 |
3 | Upper | 1.993048 | 9.020716e-01 | 0.3 | 0.3 | 1.0000000 | 120 | 120 | 120 |
1 | Lower | -3.710303 | 7.035242e-06 | 0.1 | 0.1 | 0.3333333 | 40 | 40 | 40 |
2 | Lower | -2.511434 | 1.510031e-05 | 0.2 | 0.2 | 0.6666667 | 80 | 80 | 80 |
3 | Lower | -1.993048 | 1.512598e-05 | 0.3 | 0.3 | 1.0000000 | 120 | 120 | 120 |
old version
x <- gs_design_npe_(theta = c(.1, .2, .3), info = (1:3) * 40, beta = 0.1,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL), binding = TRUE)
x %>% gt()
Analysis | Bound | Z | Probability | theta | theta1 | info | info0 | info1 |
---|---|---|---|---|---|---|---|---|
1 | Upper | 3.7103029 | 0.0010356481 | 0.1 | 0.1 | 39.75157 | 39.75157 | 39.75157 |
2 | Upper | 2.5114338 | 0.2332751723 | 0.2 | 0.2 | 79.50314 | 79.50314 | 79.50314 |
3 | Upper | 1.9930482 | 0.8999999998 | 0.3 | 0.3 | 119.25471 | 119.25471 | 119.25471 |
1 | Lower | -3.0798144 | 0.0001035057 | 0.1 | 0.1 | 39.75157 | 39.75157 | 39.75157 |
2 | Lower | -0.7281431 | 0.0060483891 | 0.2 | 0.2 | 79.50314 | 79.50314 | 79.50314 |
3 | Lower | 1.2830660 | 0.0250000000 | 0.3 | 0.3 | 119.25471 | 119.25471 | 119.25471 |
The power is 0.9. If we re-use these bounds under alternate hypothesis, then we can get a power close to 0.9.
gs_power_npe_(theta = c(.1, .2, .3),info = (1:3) * 40,
upper = gs_b, upar = (x %>% filter(Bound == "Upper"))$Z,
lower = gs_b, lpar = -(x %>% filter(Bound == "Upper"))$Z,
binding = TRUE # Always use binding = TRUE for power calculations
) %>% gt()
Analysis | Bound | Z | Probability | theta | theta1 | info | info0 | info1 |
---|---|---|---|---|---|---|---|---|
1 | Upper | 3.710303 | 1.042508e-03 | 0.1 | 0.1 | 40 | 40 | 40 |
2 | Upper | 2.511434 | 2.349812e-01 | 0.2 | 0.2 | 80 | 80 | 80 |
3 | Upper | 1.993048 | 9.020716e-01 | 0.3 | 0.3 | 120 | 120 | 120 |
1 | Lower | -3.710303 | 7.035242e-06 | 0.1 | 0.1 | 40 | 40 | 40 |
2 | Lower | -2.511434 | 1.510031e-05 | 0.2 | 0.2 | 80 | 80 | 80 |
3 | Lower | -1.993048 | 1.512598e-05 | 0.3 | 0.3 | 120 | 120 | 120 |
Test 1: examples in spec
difference of proportions
# Lachin book p71
pc <- .28 # Control response rate
pe <- .40 # Experimental response rate
p0 <- (pc + pe) / 2 # Ave response rate under H0
# Information per increment of 1 in sample size
info0 <- 1 / (p0 * (1 - p0) * 4)
info <- 1 / (pc * (1 - pc) * 2 + pe * (1 - pe) * 2)
# Result should round up to next even number = 652
# Divide information needed under H1 by information per patient added
x1_a <- gs_design_npe(theta = pe - pc, info = info, info0 = info0, info_scale = 0) %>% mutate(`Computated from` = "new version", `Info scale` = 0)
x1_b <- gs_design_npe(theta = pe - pc, info = info, info0 = info0, info_scale = 1) %>% mutate(`Computated from` = "new version", `Info scale` = 1)
x1_c <- gs_design_npe(theta = pe - pc, info = info, info0 = info0, info_scale = 2) %>% mutate(`Computated from` = "new version", `Info scale` = 2)
x2 <- gs_design_npe_(theta = pe - pc, info = info, info0 = info0) %>% mutate(`Computated from` = "old version")
Analysis | Bound | Z | Probability | Probability0 | theta | info | info0 | info1 | IF | Computated from | Info scale |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | Upper | 1.959964 | 0.9 | 0.025 | 0.12 | 729.6822 | 729.6822 | 729.6822 | 1 | new version | 0 |
1 | Upper | 1.959964 | 0.9 | 0.025 | 0.12 | 729.6822 | 729.6822 | 729.6822 | 1 | new version | 1 |
1 | Upper | 1.959964 | 0.9 | 0.025 | 0.12 | 736.8641 | 725.0428 | 736.8641 | 1 | new version | 2 |
1 | Upper | 1.959964 | 0.9 | NA | 0.12 | 736.8641 | 725.0428 | NA | NA | old version | NA |
fixed design
info
= info0
= info1
x1_a <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 80, info_scale = 0,
upper = gs_b, upar = gsDesign::gsDesign(k = 3, sfu = gsDesign::sfLDOF)$upper$bound,
lower = gs_b, lpar = c(-1, 0, 0)) %>% mutate(`Computated from` = "new version", `Info scale` = 0)
x1_b <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 80, info_scale = 1,
upper = gs_b, upar = gsDesign::gsDesign(k = 3, sfu = gsDesign::sfLDOF)$upper$bound,
lower = gs_b, lpar = c(-1, 0, 0)) %>% mutate(`Computated from` = "new version", `Info scale` = 1)
x1_c <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 80, info_scale = 2,
upper = gs_b, upar = gsDesign::gsDesign(k = 3, sfu = gsDesign::sfLDOF)$upper$bound,
lower = gs_b, lpar = c(-1, 0, 0)) %>% mutate(`Computated from` = "new version", `Info scale` = 2)
x2 <- gs_design_npe_(theta = c(.1, .2, .3),
info = (1:3) * 80,
upper = gs_b, upar = gsDesign::gsDesign(k = 3, sfu = gsDesign::sfLDOF)$upper$bound,
lower = gs_b, lpar = c(-1, 0, 0)) %>% mutate(`Computated from` = "old version")
Z | Probability | Probability0 | theta | IF | info | info0 | info1 | Computated from | Info scale | theta1 |
---|---|---|---|---|---|---|---|---|---|---|
1 - Upper | ||||||||||
3.710303 | 0.001201556 | 0.0001035057 | 0.1 | 0.3333333 | 45.56536 | 45.56536 | 45.56536 | new version | 0 | NA |
3.710303 | 0.001201556 | 0.0001035057 | 0.1 | 0.3333333 | 45.56536 | 45.56536 | 45.56536 | new version | 1 | NA |
3.710303 | 0.001201556 | 0.0001035057 | 0.1 | 0.3333333 | 45.56536 | 45.56536 | 45.56536 | new version | 2 | NA |
3.710303 | 0.001201556 | NA | 0.1 | NA | 45.56536 | 45.56536 | 45.56536 | old version | NA | 0.1 |
1 - Lower | ||||||||||
-1.000000 | 0.046965036 | 0.1586552539 | 0.1 | 0.3333333 | 45.56536 | 45.56536 | 45.56536 | new version | 0 | NA |
-1.000000 | 0.046965036 | 0.1586552539 | 0.1 | 0.3333333 | 45.56536 | 45.56536 | 45.56536 | new version | 1 | NA |
-1.000000 | 0.046965036 | 0.1586552539 | 0.1 | 0.3333333 | 45.56536 | 45.56536 | 45.56536 | new version | 2 | NA |
-1.000000 | 0.046965036 | NA | 0.1 | NA | 45.56536 | 45.56536 | 45.56536 | old version | NA | 0.1 |
2 - Upper | ||||||||||
2.511427 | 0.273421987 | 0.0060483983 | 0.2 | 0.6666667 | 91.13072 | 91.13072 | 91.13072 | new version | 0 | NA |
2.511427 | 0.273421987 | 0.0060483983 | 0.2 | 0.6666667 | 91.13072 | 91.13072 | 91.13072 | new version | 1 | NA |
2.511427 | 0.273421987 | 0.0060483983 | 0.2 | 0.6666667 | 91.13072 | 91.13072 | 91.13072 | new version | 2 | NA |
2.511427 | 0.273421987 | NA | 0.2 | NA | 91.13072 | 91.13072 | 91.13072 | old version | NA | 0.2 |
2 - Lower | ||||||||||
0.000000 | 0.061921702 | 0.5125857748 | 0.2 | 0.6666667 | 91.13072 | 91.13072 | 91.13072 | new version | 0 | NA |
0.000000 | 0.061921702 | 0.5125857748 | 0.2 | 0.6666667 | 91.13072 | 91.13072 | 91.13072 | new version | 1 | NA |
0.000000 | 0.061921702 | 0.5125857748 | 0.2 | 0.6666667 | 91.13072 | 91.13072 | 91.13072 | new version | 2 | NA |
0.000000 | 0.061921702 | NA | 0.2 | NA | 91.13072 | 91.13072 | 91.13072 | old version | NA | 0.2 |
3 - Upper | ||||||||||
1.993048 | 0.900000000 | 0.0249302430 | 0.3 | 1.0000000 | 136.69609 | 136.69609 | 136.69609 | new version | 0 | NA |
1.993048 | 0.900000000 | 0.0249302430 | 0.3 | 1.0000000 | 136.69609 | 136.69609 | 136.69609 | new version | 1 | NA |
1.993048 | 0.900000000 | 0.0249302430 | 0.3 | 1.0000000 | 136.69609 | 136.69609 | 136.69609 | new version | 2 | NA |
1.993048 | 0.900000000 | NA | 0.3 | NA | 136.69609 | 136.69609 | 136.69609 | old version | NA | 0.3 |
3 - Lower | ||||||||||
0.000000 | 0.061926296 | 0.6063477109 | 0.3 | 1.0000000 | 136.69609 | 136.69609 | 136.69609 | new version | 0 | NA |
0.000000 | 0.061926296 | 0.6063477109 | 0.3 | 1.0000000 | 136.69609 | 136.69609 | 136.69609 | new version | 1 | NA |
0.000000 | 0.061926296 | 0.6063477109 | 0.3 | 1.0000000 | 136.69609 | 136.69609 | 136.69609 | new version | 2 | NA |
0.000000 | 0.061926296 | NA | 0.3 | NA | 136.69609 | 136.69609 | 136.69609 | old version | NA | 0.3 |
info
!= info0
!= info1
x1_a <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 80, info0 = (1:3) * 90 + 10, info1 = (1:3) * 70 - 5, info_scale = 0,
upper = gs_b, upar = gsDesign::gsDesign(k = 3, sfu = gsDesign::sfLDOF)$upper$bound,
lower = gs_b, lpar = c(-1, 0, 0)) %>% mutate(`Computated from` = "new version", `Info scale` = 0)
x1_b <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 80, info0 = (1:3) * 90+ 10, info1 = (1:3) * 70 - 5, info_scale = 1,
upper = gs_b, upar = gsDesign::gsDesign(k = 3, sfu = gsDesign::sfLDOF)$upper$bound,
lower = gs_b, lpar = c(-1, 0, 0)) %>% mutate(`Computated from` = "new version", `Info scale` = 1)
x1_c <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 80, info0 = (1:3) * 90+ 10, info1 = (1:3) * 70 - 5, info_scale = 2,
upper = gs_b, upar = gsDesign::gsDesign(k = 3, sfu = gsDesign::sfLDOF)$upper$bound,
lower = gs_b, lpar = c(-1, 0, 0)) %>% mutate(`Computated from` = "new version", `Info scale` = 2)
x2 <- gs_design_npe_(theta = c(.1, .2, .3),
info = (1:3) * 80, info0 = (1:3) * 90+ 10, info1 = (1:3) * 70 - 5,
upper = gs_b, upar = gsDesign::gsDesign(k = 3, sfu = gsDesign::sfLDOF)$upper$bound,
lower = gs_b, lpar = c(-1, 0, 0)) %>% mutate(`Computated from` = "old version")
Z | Probability | Probability0 | theta | IF | info | info0 | info1 | Computated from | Info scale | theta1 |
---|---|---|---|---|---|---|---|---|---|---|
1 - Upper | ||||||||||
3.710303 | 0.001278699 | 0.0001035057 | 0.1 | 0.3571429 | 48.14094 | 48.14094 | 48.14094 | new version | 0 | NA |
3.710303 | 0.001149869 | 0.0001035057 | 0.1 | 0.3170732 | 43.79604 | 43.79604 | 43.79604 | new version | 1 | NA |
3.710303 | 0.004048062 | 0.0004523565 | 0.1 | 0.3333333 | 44.96523 | 56.20654 | 36.53425 | new version | 2 | NA |
3.710303 | 0.004048062 | NA | 0.1 | NA | 44.96523 | 56.20654 | 36.53425 | old version | NA | 0.1 |
1 - Lower | ||||||||||
-1.000000 | 0.045148157 | 0.1586552539 | 0.1 | 0.3571429 | 48.14094 | 48.14094 | 48.14094 | new version | 0 | NA |
-1.000000 | 0.048277869 | 0.1586552539 | 0.1 | 0.3170732 | 43.79604 | 43.79604 | 43.79604 | new version | 1 | NA |
-1.000000 | 0.058792818 | 0.1855466848 | 0.1 | 0.3333333 | 44.96523 | 56.20654 | 36.53425 | new version | 2 | NA |
-1.000000 | 0.058792818 | NA | 0.1 | NA | 44.96523 | 56.20654 | 36.53425 | old version | NA | 0.1 |
2 - Upper | ||||||||||
2.511427 | 0.274637453 | 0.0060442562 | 0.2 | 0.6785714 | 91.46778 | 91.46778 | 91.46778 | new version | 0 | NA |
2.511427 | 0.272791297 | 0.0060513253 | 0.2 | 0.6585366 | 90.96101 | 90.96101 | 90.96101 | new version | 1 | NA |
2.511427 | 0.272107963 | 0.0063972490 | 0.2 | 0.6666667 | 89.93046 | 106.79242 | 75.87883 | new version | 2 | NA |
2.511427 | 0.272107963 | NA | 0.2 | NA | 89.93046 | 106.79242 | 75.87883 | old version | NA | 0.2 |
2 - Lower | ||||||||||
0.000000 | 0.059626767 | 0.5110855741 | 0.2 | 0.6785714 | 91.46778 | 91.46778 | 91.46778 | new version | 0 | NA |
0.000000 | 0.063543969 | 0.5136901172 | 0.2 | 0.6585366 | 90.96101 | 90.96101 | 90.96101 | new version | 1 | NA |
0.000000 | 0.074240014 | 0.5394772057 | 0.2 | 0.6666667 | 89.93046 | 106.79242 | 75.87883 | new version | 2 | NA |
0.000000 | 0.074240014 | NA | 0.2 | NA | 89.93046 | 106.79242 | 75.87883 | old version | NA | 0.2 |
3 - Upper | ||||||||||
1.993048 | 0.899999988 | 0.0248602069 | 0.3 | 1.0000000 | 134.79463 | 134.79463 | 134.79463 | new version | 0 | NA |
1.993048 | 0.900000000 | 0.0249748131 | 0.3 | 1.0000000 | 138.12597 | 138.12597 | 138.12597 | new version | 1 | NA |
1.993048 | 0.899999920 | 0.0252790938 | 0.3 | 1.0000000 | 134.89569 | 157.37831 | 115.22340 | new version | 2 | NA |
1.993048 | 0.899999920 | NA | 0.3 | NA | 134.89569 | 157.37831 | 115.22340 | old version | NA | 0.3 |
3 - Lower | ||||||||||
0.000000 | 0.059631346 | 0.6032976877 | 0.3 | 1.0000000 | 134.79463 | 134.79463 | 134.79463 | new version | 0 | NA |
0.000000 | 0.063548525 | 0.6084787927 | 0.3 | 1.0000000 | 138.12597 | 138.12597 | 138.12597 | new version | 1 | NA |
0.000000 | 0.074245152 | 0.6332391417 | 0.3 | 1.0000000 | 134.89569 | 157.37831 | 115.22340 | new version | 2 | NA |
0.000000 | 0.074245152 | NA | 0.3 | NA | 134.89569 | 157.37831 | 115.22340 | old version | NA | 0.3 |
futility at IA1; efficacy only at IA2 +FA
x1_a <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 40, info0 = (1:3) * 40, info_scale = 0,
upper = gs_spending_bound, upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_b, lpar = c(-1, -Inf, -Inf),
test_upper = c(FALSE, TRUE, TRUE)) %>% mutate(`Computated from` = "new version", `Info scale` = 0)
x1_b <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 40, info0 = (1:3) * 40, info_scale = 1,
upper = gs_spending_bound, upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_b, lpar = c(-1, -Inf, -Inf),
test_upper = c(FALSE, TRUE, TRUE)) %>% mutate(`Computated from` = "new version", `Info scale` = 1)
x1_c <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 40, info0 = (1:3) * 40, info_scale = 2,
upper = gs_spending_bound, upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_b, lpar = c(-1, -Inf, -Inf),
test_upper = c(FALSE, TRUE, TRUE)) %>% mutate(`Computated from` = "new version", `Info scale` = 2)
x2 <- gs_design_npe_(theta = c(.1, .2, .3),
info = (1:3) * 40, info0 = (1:3) * 40,
upper = gs_spending_bound, upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_b, lpar = c(-1, -Inf, -Inf),
test_upper = c(FALSE, TRUE, TRUE)) %>% mutate(`Computated from` = "old version", `Info scale` = 0)
x1_a %>%
union_all(x1_b) %>%
union_all(x1_c) %>%
union_all(x2) %>%
arrange(Analysis) %>%
group_by(Analysis, Bound) %>%
gt() %>%
tab_style(
style = list(cell_fill(color = "#d3edeb")),
locations = cells_body(rows = `Computated from` == "old version"))
Z | Probability | Probability0 | theta | IF | info | info0 | info1 | Computated from | Info scale | theta1 |
---|---|---|---|---|---|---|---|---|---|---|
1 - Upper | ||||||||||
Inf | 0.00000000 | 0.000000000 | 0.1 | 0.3333333 | 44.55554 | 44.55554 | 44.55554 | new version | 0 | NA |
Inf | 0.00000000 | 0.000000000 | 0.1 | 0.3333333 | 44.55554 | 44.55554 | 44.55554 | new version | 1 | NA |
Inf | 0.00000000 | 0.000000000 | 0.1 | 0.3333333 | 44.55554 | 44.55554 | 44.55554 | new version | 2 | NA |
Inf | 0.00000000 | NA | 0.1 | NA | 44.55554 | 44.55554 | 44.55554 | old version | 0 | 0.1 |
1 - Lower | ||||||||||
-1.000000 | 0.04770758 | 0.158655254 | 0.1 | 0.3333333 | 44.55554 | 44.55554 | 44.55554 | new version | 0 | NA |
-1.000000 | 0.04770758 | 0.158655254 | 0.1 | 0.3333333 | 44.55554 | 44.55554 | 44.55554 | new version | 1 | NA |
-1.000000 | 0.04770758 | 0.158655254 | 0.1 | 0.3333333 | 44.55554 | 44.55554 | 44.55554 | new version | 2 | NA |
-1.000000 | 0.04770758 | NA | 0.1 | NA | 44.55554 | 44.55554 | 44.55554 | old version | 0 | 0.1 |
2 - Upper | ||||||||||
2.509315 | 0.26707709 | 0.006048281 | 0.2 | 0.6666667 | 89.11107 | 89.11107 | 89.11107 | new version | 0 | NA |
2.509315 | 0.26707709 | 0.006048281 | 0.2 | 0.6666667 | 89.11107 | 89.11107 | 89.11107 | new version | 1 | NA |
2.509315 | 0.26707709 | 0.006048281 | 0.2 | 0.6666667 | 89.11107 | 89.11107 | 89.11107 | new version | 2 | NA |
2.509315 | 0.26707709 | NA | 0.2 | NA | 89.11107 | 89.11107 | 89.11107 | old version | 0 | 0.2 |
2 - Lower | ||||||||||
-Inf | 0.04770758 | 0.158655254 | 0.2 | 0.6666667 | 89.11107 | 89.11107 | 89.11107 | new version | 0 | NA |
-Inf | 0.04770758 | 0.158655254 | 0.2 | 0.6666667 | 89.11107 | 89.11107 | 89.11107 | new version | 1 | NA |
-Inf | 0.04770758 | 0.158655254 | 0.2 | 0.6666667 | 89.11107 | 89.11107 | 89.11107 | new version | 2 | NA |
-Inf | 0.04770758 | NA | 0.2 | NA | 89.11107 | 89.11107 | 89.11107 | old version | 0 | 0.2 |
3 - Upper | ||||||||||
1.992888 | 0.90000000 | 0.024947293 | 0.3 | 1.0000000 | 133.66661 | 133.66661 | 133.66661 | new version | 0 | NA |
1.992888 | 0.90000000 | 0.024947293 | 0.3 | 1.0000000 | 133.66661 | 133.66661 | 133.66661 | new version | 1 | NA |
1.992888 | 0.90000000 | 0.024947293 | 0.3 | 1.0000000 | 133.66661 | 133.66661 | 133.66661 | new version | 2 | NA |
1.992888 | 0.90000000 | NA | 0.3 | NA | 133.66661 | 133.66661 | 133.66661 | old version | 0 | 0.3 |
3 - Lower | ||||||||||
-Inf | 0.04770758 | 0.158655254 | 0.3 | 1.0000000 | 133.66661 | 133.66661 | 133.66661 | new version | 0 | NA |
-Inf | 0.04770758 | 0.158655254 | 0.3 | 1.0000000 | 133.66661 | 133.66661 | 133.66661 | new version | 1 | NA |
-Inf | 0.04770758 | 0.158655254 | 0.3 | 1.0000000 | 133.66661 | 133.66661 | 133.66661 | new version | 2 | NA |
-Inf | 0.04770758 | NA | 0.3 | NA | 133.66661 | 133.66661 | 133.66661 | old version | 0 | 0.3 |
spending bounds
x1_a <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 40, info0 = (1:3) * 50, info_scale = 0,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfHSD, total_spend = 0.1, param = -1, timing = NULL)) %>% mutate(`Computated from` = "new version", `Info scale` = 0)
x1_b <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 40, info0 = (1:3) * 50, info_scale = 1,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfHSD, total_spend = 0.1, param = -1, timing = NULL)) %>% mutate(`Computated from` = "new version", `Info scale` = 1)
x1_c <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 40, info0 = (1:3) * 50, info_scale = 2,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfHSD, total_spend = 0.1, param = -1, timing = NULL)) %>% mutate(`Computated from` = "new version", `Info scale` = 2)
x2 <- gs_design_npe_(theta = c(.1, .2, .3),
info = (1:3) * 40, info0 = (1:3) * 50,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfHSD, total_spend = 0.1, param = -1, timing = NULL)) %>% mutate(`Computated from` = "old version")
Z | Probability | Probability0 | theta | IF | info | info0 | info1 | Computated from | Info scale | theta1 |
---|---|---|---|---|---|---|---|---|---|---|
1 - Upper | ||||||||||
3.7103029 | 0.001136317 | 0.0001035057 | 0.1 | 0.3333333 | 43.32605 | 43.32605 | 43.32605 | new version | 0 | NA |
3.7103029 | 0.001136317 | 0.0001035057 | 0.1 | 0.3333333 | 43.32605 | 43.32605 | 43.32605 | new version | 1 | NA |
3.7103029 | 0.003850782 | 0.0004523565 | 0.1 | 0.3333333 | 42.73434 | 53.41793 | 42.73434 | new version | 2 | NA |
3.7103029 | 0.003850782 | NA | 0.1 | NA | 42.73434 | 53.41793 | 42.73434 | old version | NA | 0.1 |
1 - Lower | ||||||||||
-1.3367329 | 0.023023722 | 0.0906549246 | 0.1 | 0.3333333 | 43.32605 | 43.32605 | 43.32605 | new version | 0 | NA |
-1.3367329 | 0.023023722 | 0.0906549246 | 0.1 | 0.3333333 | 43.32605 | 43.32605 | 43.32605 | new version | 1 | NA |
-1.3412431 | 0.031915434 | 0.1151387639 | 0.1 | 0.3333333 | 42.73434 | 53.41793 | 42.73434 | new version | 2 | NA |
-1.3412431 | 0.031915434 | NA | 0.1 | NA | 42.73434 | 53.41793 | 42.73434 | old version | NA | 0.1 |
2 - Upper | ||||||||||
2.5114338 | 0.257938878 | 0.0060483767 | 0.2 | 0.6666667 | 86.65211 | 86.65211 | 86.65211 | new version | 0 | NA |
2.5114338 | 0.257938878 | 0.0060483767 | 0.2 | 0.6666667 | 86.65211 | 86.65211 | 86.65211 | new version | 1 | NA |
2.5114338 | 0.256567802 | 0.0063972278 | 0.2 | 0.6666667 | 85.46869 | 106.83586 | 85.46869 | new version | 2 | NA |
2.5114338 | 0.256567802 | NA | 0.2 | NA | 85.46869 | 106.83586 | 85.46869 | old version | NA | 0.2 |
2 - Lower | ||||||||||
0.1455293 | 0.055155914 | 0.5605209895 | 0.2 | 0.6666667 | 86.65211 | 86.65211 | 86.65211 | new version | 0 | NA |
0.1455293 | 0.055155914 | 0.5605209895 | 0.2 | 0.6666667 | 86.65211 | 86.65211 | 86.65211 | new version | 1 | NA |
0.1327725 | 0.064047626 | 0.5807591379 | 0.2 | 0.6666667 | 85.46869 | 106.83586 | 85.46869 | new version | 2 | NA |
0.1327725 | 0.064047626 | NA | 0.2 | NA | 85.46869 | 106.83586 | 85.46869 | old version | NA | 0.2 |
3 - Upper | ||||||||||
1.9930511 | 0.900000000 | 0.0249444277 | 0.3 | 1.0000000 | 129.97816 | 129.97816 | 129.97816 | new version | 0 | NA |
1.9930511 | 0.900000000 | 0.0249444277 | 0.3 | 1.0000000 | 129.97816 | 129.97816 | 129.97816 | new version | 1 | NA |
1.9930511 | 0.900000001 | 0.0252963129 | 0.3 | 1.0000000 | 128.20303 | 160.25379 | 128.20303 | new version | 2 | NA |
1.9930511 | 0.900000001 | NA | 0.3 | NA | 128.20303 | 160.25379 | 128.20303 | old version | NA | 0.3 |
3 - Lower | ||||||||||
1.9930488 | 0.100000000 | 0.9750558052 | 0.3 | 1.0000000 | 129.97816 | 129.97816 | 129.97816 | new version | 0 | NA |
1.9930488 | 0.100000000 | 0.9750558052 | 0.3 | 1.0000000 | 129.97816 | 129.97816 | 129.97816 | new version | 1 | NA |
1.9696010 | 0.108891712 | 0.9990450865 | 0.3 | 1.0000000 | 128.20303 | 160.25379 | 128.20303 | new version | 2 | NA |
1.9696010 | 0.108891712 | NA | 0.3 | NA | 128.20303 | 160.25379 | 128.20303 | old version | NA | 0.3 |
2-sided symmetric spend
x1_a <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 40, info_scale = 0,
binding = TRUE,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL)) %>% mutate(`Computated from` = "new version", `Info scale` = 0)
x1_b <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 40, info_scale = 1,
binding = TRUE,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL)) %>% mutate(`Computated from` = "new version", `Info scale` = 1)
x1_c <- gs_design_npe(theta = c(.1, .2, .3),
info = (1:3) * 40, info_scale = 2,
binding = TRUE,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL)) %>% mutate(`Computated from` = "new version", `Info scale` = 2)
x2 <- gs_design_npe_(theta = c(.1, .2, .3),
info = (1:3) * 40,
binding = TRUE,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL)) %>% mutate(`Computated from` = "old version")
Z | Probability | Probability0 | theta | IF | info | info0 | info1 | Computated from | Info scale | theta1 |
---|---|---|---|---|---|---|---|---|---|---|
1 - Upper | ||||||||||
3.7103029 | 0.0010356481 | 0.0001035057 | 0.1 | 0.3333333 | 39.75157 | 39.75157 | 39.75157 | new version | 0 | NA |
3.7103029 | 0.0010356481 | 0.0001035057 | 0.1 | 0.3333333 | 39.75157 | 39.75157 | 39.75157 | new version | 1 | NA |
3.7103029 | 0.0010356481 | 0.0001035057 | 0.1 | 0.3333333 | 39.75157 | 39.75157 | 39.75157 | new version | 2 | NA |
3.7103029 | 0.0010356481 | NA | 0.1 | NA | 39.75157 | 39.75157 | 39.75157 | old version | NA | 0.1 |
1 - Lower | ||||||||||
-3.0798144 | 0.0001035057 | 0.0010356481 | 0.1 | 0.3333333 | 39.75157 | 39.75157 | 39.75157 | new version | 0 | NA |
-3.0798144 | 0.0001035057 | 0.0010356481 | 0.1 | 0.3333333 | 39.75157 | 39.75157 | 39.75157 | new version | 1 | NA |
-3.0798144 | 0.0001035057 | 0.0010356481 | 0.1 | 0.3333333 | 39.75157 | 39.75157 | 39.75157 | new version | 2 | NA |
-3.0798144 | 0.0001035057 | NA | 0.1 | NA | 39.75157 | 39.75157 | 39.75157 | old version | NA | 0.1 |
2 - Upper | ||||||||||
2.5114338 | 0.2332751723 | 0.0060483891 | 0.2 | 0.6666667 | 79.50314 | 79.50314 | 79.50314 | new version | 0 | NA |
2.5114338 | 0.2332751723 | 0.0060483891 | 0.2 | 0.6666667 | 79.50314 | 79.50314 | 79.50314 | new version | 1 | NA |
2.5114338 | 0.2332751723 | 0.0060483891 | 0.2 | 0.6666667 | 79.50314 | 79.50314 | 79.50314 | new version | 2 | NA |
2.5114338 | 0.2332751723 | NA | 0.2 | NA | 79.50314 | 79.50314 | 79.50314 | old version | NA | 0.2 |
2 - Lower | ||||||||||
-0.7281431 | 0.0060483891 | 0.2332751723 | 0.2 | 0.6666667 | 79.50314 | 79.50314 | 79.50314 | new version | 0 | NA |
-0.7281431 | 0.0060483891 | 0.2332751723 | 0.2 | 0.6666667 | 79.50314 | 79.50314 | 79.50314 | new version | 1 | NA |
-0.7281431 | 0.0060483891 | 0.2332751723 | 0.2 | 0.6666667 | 79.50314 | 79.50314 | 79.50314 | new version | 2 | NA |
-0.7281431 | 0.0060483891 | NA | 0.2 | NA | 79.50314 | 79.50314 | 79.50314 | old version | NA | 0.2 |
3 - Upper | ||||||||||
1.9930482 | 0.8999999998 | 0.0250000000 | 0.3 | 1.0000000 | 119.25471 | 119.25471 | 119.25471 | new version | 0 | NA |
1.9930482 | 0.8999999998 | 0.0250000000 | 0.3 | 1.0000000 | 119.25471 | 119.25471 | 119.25471 | new version | 1 | NA |
1.9930482 | 0.8999999998 | 0.0250000000 | 0.3 | 1.0000000 | 119.25471 | 119.25471 | 119.25471 | new version | 2 | NA |
1.9930482 | 0.8999999998 | NA | 0.3 | NA | 119.25471 | 119.25471 | 119.25471 | old version | NA | 0.3 |
3 - Lower | ||||||||||
1.2830660 | 0.0250000000 | 0.8999999998 | 0.3 | 1.0000000 | 119.25471 | 119.25471 | 119.25471 | new version | 0 | NA |
1.2830660 | 0.0250000000 | 0.8999999998 | 0.3 | 1.0000000 | 119.25471 | 119.25471 | 119.25471 | new version | 1 | NA |
1.2830660 | 0.0250000000 | 0.8999999998 | 0.3 | 1.0000000 | 119.25471 | 119.25471 | 119.25471 | new version | 2 | NA |
1.2830660 | 0.0250000000 | NA | 0.3 | NA | 119.25471 | 119.25471 | 119.25471 | old version | NA | 0.3 |