Computes the non-inferiority margin, number of events, and maximum hazard ratio (HR) to declare non-inferiority in vaccine efficacy (VE) trials, based on the approach described by Fleming et al. (2021).
Arguments
- ve_lci
Numeric. Lower bound of the current vaccine's efficacy (e.g., 0.95 for 95% VE).
- alpha
Numeric. Type I error rate (default = 0.025).
- power
Numeric. Desired power for the test (default = 0.90).
- use70
Logical. If
TRUE
, assumes at least 30% VE for the new vaccine (the 90–70 rule); otherwise, preserves a fixed fraction of the reference VE.- preserve
Numeric. Proportion of the current vaccine's efficacy to preserve under
use70 = FALSE
(default = 0.5).
Value
A named list with:
Upper limit of the HR used to estimate the sample size: Hazard ratio corresponding to
ve_lci
.Non-inferior margin in HR scale: Non-inferiority margin expressed as a hazard ratio.
Alpha: The type I error used.
Power: The power used.
Total number of events: Total number of events required in the trial.
Max HR to declare NI: Maximum observed hazard ratio that satisfies the non-inferiority criterion.
Max number of events in the experimental group: Maximum number of events in the experimental group still compatible with non-inferiority.
Non-inferior criteria: Description of the applied non-inferiority rule ("At least 30% VE" or "or preserved effect").
Details
The method applies either the 95–95 rule or 90–70 rule, depending on whether a minimum
VE of 30% is assumed (use70 = TRUE
) or 50% of the current VE is preserved.
This implementation approximates Table 1 of the paper using exact binomial confidence intervals
via binom.test
and the nBinomial1Sample
function from gsDesign.
References
Fleming, T.R., Powers, J.H., & Huang, Y. (2021). The use of active controls and non-inferiority studies in evaluating COVID-19 vaccines. Clinical Trials, 18(3), 335–342. doi:10.1177/1740774520988244
Examples
ss_ni_ve(ve_lci = 0.95)
#> $`Upper limit of the HR used to estimate the sample size`
#> [1] 0.05
#>
#> $`Non-inferior margin in HR scale`
#> [1] 4.472136
#>
#> $Alpha
#> [1] 0.025
#>
#> $Power
#> [1] 0.9
#>
#> $`Total number of events`
#> [1] 28
#>
#> $`Max HR to declare NI`
#> [1] 1.8
#>
#> $`Max number of events in the experimental group`
#> [1] 18
#>
#> $`Non-inferior criteria`
#> [1] "Preserve at least 50% of the VE in the new vaccine"
#>