## 4.1. A single-stage design library("MAMS") set.seed(2910) m1 <- mams(K = 3, J = 1, p = 0.65, p0 = 0.55, r = 1, r0 = 1, alpha = 0.05, power = 0.9) m1 m1d <- mams(K = 3, J = 1, p = NULL, p0 = NULL, delta = 0.545, delta0 = 0.178, sd = 1, r = 1, r0 = 1, alpha = 0.05, power = 0.9) pnorm(0.545 / sqrt(2)) qnorm(0.65) * sqrt(2) ## 4.2. Multi-stage designs with different boundary shapes m2 <- mams(K = 3, J = 2, p = 0.65, p0 = 0.55, r = 1:2, r0 = c(2, 4), alpha = 0.05, power = 0.9, ushape = "triangular", lshape = "triangular") m2 m3 <- mams(K = 3, J = 3, p = 0.65, p0 = 0.55, alpha = 0.05, power = 0.9, r = 1:3, r0 = 1:3, ushape = function(x) return(x:1), lshape = "fixed", lfix = 0) m3 poc <- mams(K = 3, J = 3, p = 0.65, p0 = 0.55, r = 1:3, r0 = 1:3, alpha = 0.05, power = 0.9, ushape = "pocock", lshape = "pocock") obf <- mams(K = 3, J = 3, p = 0.65, p0 = 0.55, r = 1:3, r0 = 1:3, alpha = 0.05, power = 0.9, ushape = "obf", lshape = "obf") tri <- mams(K = 3, J = 3, p = 0.65, p0 = 0.55, r = 1:3, r0 = 1:3, alpha = 0.05, power = 0.9, ushape = "triangular", lshape = "triangular") par(mfrow = c(2, 2)) plot(poc, ylim = c(-5, 7), main = "Pocock") plot(obf, ylim = c(-5, 7), main = "O'Brien-Fleming") plot(tri, ylim = c(-5, 7), main = "Triangular") plot(m3, ylim = c(-5, 7), main = "Self-designed") ## 4.3. Evaluating the properties of a design m2sim <- mams.sim(nsim = 1e+05, nMat = t(m2$n * m2$rMat), u = m2$u, l = m2$l, pv = rep(0.5, 3), ptest = 1:2) m2sim pocsim <- mams.sim(nsim = 1e+05, nMat = t(poc$n * poc$rMat), u = poc$u, l = poc$l, pv = c(0.65, rep(0.55, 2)), ptest = 1) obfsim <- mams.sim(nsim = 1e+05, nMat = t(obf$n * obf$rMat), u = obf$u, l = obf$l, pv = c(0.65, rep(0.55, 2)), ptest = 1) trisim <- mams.sim(nsim = 1e+05, nMat = t(tri$n * tri$rMat), u = tri$u, l = tri$l, pv = c(0.65, rep(0.55, 2)), ptest = 1) pocsim_null <- mams.sim(nsim = 1e+05, nMat = t(poc$n * poc$rMat), u = poc$u, l = poc$l, pv = rep(0.5, 3), ptest = 1) obfsim_null <- mams.sim(nsim = 1e+05, nMat = t(obf$n * obf$rMat), u = obf$u, l = obf$l, pv = rep(0.55, 3), ptest = 1) trisim_null <- mams.sim(nsim = 1e+05, nMat = t(tri$n * tri$rMat), u = tri$u, l = tri$l, pv = rep(0.5, 3), ptest = 1) ## Table 1 c(poc$n*4, poc$N, pocsim$exss, pocsim_null$exss) c(obf$n*4, obf$N, obfsim$exss, obfsim_null$exss) c(tri$n*4, tri$N, trisim$exss, trisim_null$exss) ## 4.4. A step-down design m2.all <- stepdown.mams(nMat = matrix(c(76, 152, rep(c(38, 76), 3)), nrow = 2, ncol = 4), lb = m2$l[1], alpha.star = c(0.026, 0.05), selection = "all.promising") m2.all m2.best <- stepdown.mams(nMat = matrix(c(76, 152, rep(c(38, 76), 3)), nrow = 2, ncol = 4), lb = m2$l[1], alpha.star = c(0.026, 0.05), selection = "select.best") m2.best par(mfrow = c(1, 2)) plot(m2.all, main = "Select all promising", col = c(1, 1, 2, 1, 2, 2, 4)) plot(m2.best, main = "Select the best", col = c(1, 1, 2, 1, 2, 2, 4)) ## 4.5. Dealing with unforeseen design modifications m2.nb <- new.bounds(K = 3, J = 2, nMat = matrix(c(75, 152, 40, 76, 35, 76, 41, 76), nrow = 2, ncol = 4), alpha = 0.05, u = m2$u[1], l = m2$l[1], ushape = "triangular", lshape = "triangular") m2.nb m2.update <- stepdown.update(current.mams = m2.all, nobs = c(75, 40, 35, 41), zscores = c(1.1, 0.9, 0.9), selected.trts = c(1, 3), nfuture = matrix(c(228, 114, 35, 114), nrow = 1, ncol = 4)) ## 4.6. Non-normal endpoints prob <- c(0.075, 0.182, 0.319, 0.243, 0.015, 0.166) mord <- ordinal.mams(prob = prob, or = 3.06, or0 = 1.32, K = 3, J = 2, alpha = 0.05, power = 0.9, r = 1:2, r0 = 1:2, ushape = "triangular", lshape = "triangular") mord mtite <- tite.mams(hr = 1.5, hr0 = 1.1, K = 3, J = 2, alpha = 0.05, power = 0.9, r = 1:2, r0 = 1:2, ushape = "triangular", lshape = "triangular") mtite ## Appendix A m2.all m2.best ## Appendix B m2.update