# The design function for multinomial designs under intersection-union test (IUT)

### Description

Search the type I error or power of a multinomial (response and disease progression) single- or two-stage design under IUT:
*H_0: p_1 ≤ p_{01} \ OR \ p_2 ≥ p_{02} \ versus \ H_1: p_1 ≥ p_{11} > p_{01} \ AND \ p_2 ≤ p_{12} < p_{02}*

### Usage

1 2 3 4 5 6 7 | ```
IUT.design(method = c("s1", "s2", "s2.f"),
s1.rej, t1.rej, s1.acc, t1.acc, n1, s2.rej, t2.rej, n2,
s1.rej.delta=0, t1.rej.delta=0, s1.acc.delta=0, t1.acc.delta=0,
s2.rej.delta=0, t2.rej.delta=0, n1.delta=0, n2.delta=0,
p0.s, p0.t, p1.s, p1.t, signif.level = 0.05, power.level = 0.85,
show.time = TRUE, output = c("minimax","optimal","maxpower","admissible", "all"),
plot.out=FALSE)
``` |

### Arguments

`method` |
design methods according to number of stage and stopping rule, "s1" represents single-stage design stopping for both efficacy and futility, "s2" represents two-stage design stopping for both efficacy and futility, "s2.f" represents two-stage design stopping for futility only. |

`s1.rej` |
first stage responses threshold to stop the trial for efficacy. Applied for "s1" or "s2". |

`t1.rej` |
first stage disease progressions threshold to stop the trial for efficacy. Applied for "s1" or "s2". |

`s1.acc` |
first stage responses threshold to stop the trial for futility. Applied for "s2" or "s2.f". |

`t1.acc` |
first stage disease progressions threshold to stop the trial for futility. Applied for "s2" or "s2.f". |

`n1` |
first stage sample size. Applied for "s1", "s2" or "s2.f". |

`s2.rej` |
second stage responses threshold to stop the trial for efficacy. Applied for "s2" or "s2.f". |

`t2.rej` |
second stage disease progressions threshold to stop the trial for efficacy. Applied for "s2" or "s2.f". |

`n2` |
second stage sample size. Applied for "s2" or "s2.f". |

`s1.rej.delta` |
pre-specified search difference for s1.rej. |

`t1.rej.delta` |
pre-specified search difference for t1.rej. |

`s1.acc.delta` |
pre-specified search difference for s1.acc. |

`t1.acc.delta` |
pre-specified search difference for t1.acc. |

`s2.rej.delta` |
pre-specified search difference for s2.rej. |

`t2.rej.delta` |
pre-specified search difference for t2.rej. |

`n1.delta` |
pre-specified search difference for n1. |

`n2.delta` |
pre-specified search difference for n2. |

`p0.s` |
pre-specified response rate under null hypothesis. |

`p0.t` |
pre-specified disease progression rate under null hypothesis. |

`p1.s` |
pre-specified response rate under alternative hypothesis. |

`p1.t` |
pre-specified disease progression rate under alternative hypothesis.
Note: type I error calculation needs to take maximum of the power function with |

`signif.level` |
pre-specified significant level. |

`power.level` |
pre-specified power level. |

`show.time` |
logical; if TRUE (default), show the calculation time for the search function. |

`output` |
the output types of design, choose from "minimax","optimal","admissible" and "maxpower". |

`plot.out` |
logical; if TRUE, output a plot for design selection. |

### Value

`boundset` |
the boundaries set satisfying the design types properties: |

### References

Chang, M. N., Devidas, M., & Anderson, J. (2007).
*One- and two-stage designs for phase II window studies.*
*Statistics in medicine* **, 26(13)**, 2604-2614.

Simon, R. (1989).
*Optimal two-stage designs for phase II clinical trials.*
*Controlled clinical trials* **10(1)**, 1-10.

Jung, S. H., Lee, T., Kim, K., & George, S. L. (2004).
*Admissible two-stage designs for phase II cancer clinical trials.*
*Statistics in medicine* **23(4)**, 561-569.

### Examples

1 2 3 4 5 6 7 8 9 10 11 | ```
p01=0.1; p02=0.9
## Calculate type I error for single-stage design
IUT.design(method="s1",s1.rej=18, t1.rej = 12, n1=80,
s1.rej.delta = 1, t1.rej.delta = 1, n1.delta=1,
p0.s = 0.15, p0.t = 0.25, p1.s = 0.3, p1.t= 0.1, output = "minimax")
## Designs for two-stage design, output PET and EN under null hypothesis
IUT.design(method="s2",s1.rej = 11, t1.rej = 4, s1.acc=8, t1.acc = 5, n1=40,
s2.rej=18, t2.rej = 11, n2=40, p0.s = 0.15, p0.t = 0.25, p1.s = 0.3, p1.t= 0.1, output = "minimax")
IUT.design(method="s2",s1.rej = 11, t1.rej = 4, s1.acc=8, t1.acc = 5, n1=40,
s2.rej=18, t2.rej = 11, n2=40, p0.s = 0.15, p0.t = 0.25, p1.s = 0.3, p1.t= 0.1, output = "optimal")
``` |