# Ranking and Selection, and Head-to-Head Comparison of Individual and Pooled Treatment Arms

### Description

`rankTrial`

assesses the probability of correctly selecting the winning most efficacious (individual and/or pooled) treatment arm, and assesses power to detect relative treatment efficacy in head-to-head comparisons of (individual and/or pooled) treatment arms.

### Usage

1 2 3 |

### Arguments

`censFile` |
if |

`idxHighestVE` |
an integer value identifying the treatment (vaccine) arm with the true highest VE(0– |

`headHead` |
a matrix ( |

`poolHead` |
a matrix ( |

`lowerVE` |
a numeric value defining a ‘winning’ treatment arm as one with sufficient evidence for rejecting the null hypothesis H0: VE(0– |

`stage1` |
the final week of stage 1 in a two-stage trial |

`stage2` |
the final week of stage 2 in a two-stage trial, i.e., the maximum follow-up time |

`alpha` |
one minus the nominal confidence level of the two-sided confidence interval used for testing a null hypothesis H0: VE(0– |

`saveDir` |
a character string specifying a path for |

`verbose` |
a logical value indicating whether information on the output directory and file name should be printed out (default is |

### Details

All time variables use week as the unit of time. Month is defined as 52/12 weeks.

The probability of correct treatment selection is defined as the probability that the treatment arm with the highest estimated VE(0–`stage2`

) is the one with the true highest VE(0–`stage2`

) and, for this treatment arm, the null hypothesis H0: VE(0–`stage1`

) *≤* `lowerVE`

x 100% is rejected. If `poolHead`

is specified, the probability of correct pooled treatment selection is assessed for each set of two pooled treatment arms.

VE(0–*t*) is estimated as one minus the ratio of Nelson-Aalen-based cumulative incidence functions. The null hypothesis H0: VE(0–*t*) *≤* *b* x 100% is rejected if the lower bound of the two-sided (1-`alpha`

) x 100% confidence interval for VE(0–*t*) lies above *b*.

For head-to-head individual and pooled treatment comparisons, powers to reject the null hypotheses that relative VE(0–`stage1`

) *≤* 0% and relative VE(0–`stage2`

) *≤* 0% are assessed using the aforementioned testing rule.

### Value

If `saveDir`

is specified, the output list (named `out`

) is saved as an `.RData`

file in `saveDir`

(the path to `saveDir`

is printed); otherwise it is returned. The output object is a list with the following components:

`rankSelectPw` |
the probability of correct selection of the winning most efficacious individual treatment |

`headHeadPw` |
if |

`poolRankSelectPw` |
if |

`poolHeadPw` |
if |

### See Also

`simTrial`

, `monitorTrial`

, and `censTrial`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | ```
simData <- simTrial(N=c(1000, rep(700, 2)), aveVE=seq(0, 0.4, by=0.2),
VEmodel="half", vePeriods=c(1, 27, 79), enrollPeriod=78,
enrollPartial=13, enrollPartialRelRate=0.5, dropoutRate=0.05,
infecRate=0.04, fuTime=156,
visitSchedule=c(0, (13/3)*(1:4), seq(13*6/3, 156, by=13*2/3)),
missVaccProb=c(0,0.05,0.1,0.15), VEcutoffWeek=26, nTrials=5,
stage1=78, randomSeed=300)
monitorData <- monitorTrial(dataFile=simData, stage1=78, stage2=156,
harmMonitorRange=c(10,100), alphaPerTest=0.0106,
minCnt=50, minPct=0.33, week1=26, minCnt2=2, week2=52,
nonEffInterval=20, lowerVEnoneff=0, upperVEnoneff=0.4,
highVE=0.7, stage1VE=0, lowerVEuncPower=0,
alphaNoneff=0.05, alphaHigh=0.05, alphaStage1=0.05,
alphaUncPower=0.05, estimand="cuminc", VEcutoffWeek=26)
censData <- censTrial(dataFile=simData, monitorFile=monitorData, stage1=78,
stage2=156)
rankData <- rankTrial(censFile=censData, idxHighestVE=2,
headHead=matrix(2:1, nrow=1, ncol=2), lowerVE=0, stage1=78,
stage2=156, alpha=0.05)
### alternatively, to save the .RData output file (no '<-' needed):
###
### simTrial(N=c(1400, rep(1000, 2)), aveVE=seq(0, 0.4, by=0.2), VEmodel="half",
### vePeriods=c(1, 27, 79), enrollPeriod=78, enrollPartial=13,
### enrollPartialRelRate=0.5, dropoutRate=0.05, infecRate=0.04, fuTime=156,
### visitSchedule=c(0, (13/3)*(1:4), seq(13*6/3, 156, by=13*2/3)),
### missVaccProb=c(0,0.05,0.1,0.15), VEcutoffWeek=26, nTrials=30,
### stage1=78, saveDir="./", randomSeed=300)
###
### monitorTrial(dataFile=
### "simTrial_nPlac=1400_nVacc=1000_1000_aveVE=0.2_0.4_infRate=0.04.RData",
### stage1=78, stage2=156, harmMonitorRange=c(10,100), alphaPerTest=0.0106,
### minCnt=50, minPct=0.33, week1=26, minCnt2=2, week2=52, nonEffInterval=20,
### lowerVEnoneff=0, upperVEnoneff=0.4, highVE=0.7, stage1VE=0,
### lowerVEuncPower=0, alphaNoneff=0.05, alphaHigh=0.05, alphaStage1=0.05,
### alphaUncPower=0.05, estimand="cuminc", VEcutoffWeek=26, saveDir="./")
###
### censTrial(dataFile=
### "simTrial_nPlac=1400_nVacc=1000_1000_aveVE=0.2_0.4_infRate=0.04.RData",
### monitorFile=
### "monitorTrial_nPlac=1400_nVacc=1000_1000_aveVE=0.2_0.4_infRate=0.04_cuminc.RData",
### stage1=78, stage2=156, saveDir="./")
###
### rankTrial(censFile=
### "trialDataCens_nPlac=1400_nVacc=1000_1000_aveVE=0.2_0.4_infRate=0.04_cuminc.RData",
### idxHighestVE=2, headHead=matrix(2:1, nrow=1, ncol=2), lowerVE=0, stage1=78,
### stage2=156, alpha=0.05, saveDir="./")
``` |