View source: R/postMonitoring.R
rankTrial | R Documentation |
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.
rankTrial( censFile, idxHighestVE, headHead = NULL, poolHead = NULL, lowerVE, stage1, stage2, alpha, saveDir = NULL, verbose = TRUE )
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 |
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.
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 headHead
is specified, a matrix of powers to detect relative VE(0–stage1
) (column 1) and relative VE(0–stage2
) (column 2) in head-to-head comparisons of individual treatment arms
poolRankSelectPw
: if poolHead
is specified, a numeric vector of the probabilities of correct selection of the winning most efficacious pooled treatment for each set of pooled treatments
poolHeadPw
: if poolHead
is specified, a matrix of powers to detect relative VE(0–stage1
) (column 1) and relative VE(0–stage2
) (column 2) in head-to-head comparisons of pooled treatment arms
simTrial
, monitorTrial
, and censTrial
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=NULL, nonEffStartMethod="FKG", 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", lagTime=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=NULL, ### nonEffStartMethod="FKG", 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", lagTime=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="./")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.