AHR()
provides a geometric average hazard ratio under
various non-proportional hazards assumptions for either single or multiple strata studies.
The piecewise exponential distribution allows a simple method to specify a distribution
and enrollment pattern where the enrollment, failure and dropout rates changes over time.
Arguments
- enrollRates
Piecewise constant enrollment rates by stratum and time period.
- failRates
Piecewise constant control group failure rates, duration for each piecewise constant period, hazard ratio for experimental vs control, and dropout rates by stratum and time period.
- totalDuration
Total follow-up from start of enrollment to data cutoff; this can be a single value or a vector of positive numbers.
- ratio
ratio of experimental to control randomization.
- simple
logical; if TRUE (default), for each value in input totalDuration overall event count, statistical information and average hazard ratio are given; if FALSE, hazard ratio, expected events and statistical information are produced by stratum and underlying hazard ratio.
Value
A tibble
with Time
(from totalDuration
), AHR
(average hazard ratio),
Events
(expected number of events), info (information under given scenarios),
and info0 (information under related null hypothesis) for each value of totalDuration
input;
if simple=FALSE
, Stratum
and t
(beginning of each constant HR period) are also returned
and HR
is returned instead of AHR
Examples
# Example: default
AHR()
#> # A tibble: 1 × 5
#> Time AHR Events info info0
#> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 30 0.695 58.5 14.3 14.6
# Example: default with multiple analysis times (varying totalDuration)
AHR(totalDuration = c(15, 30))
#> # A tibble: 2 × 5
#> Time AHR Events info info0
#> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 15 0.786 30.3 7.44 7.57
#> 2 30 0.695 58.5 14.3 14.6
# Stratified population
enrollRates <- tibble::tibble(Stratum = c(rep("Low", 2), rep("High", 3)),
duration = c(2, 10, 4, 4, 8),
rate = c(5, 10, 0, 3, 6))
failRates <- tibble::tibble(Stratum = c(rep("Low", 2), rep("High", 2)),
duration = 1,
failRate = c(.1, .2, .3, .4),
hr = c(.9, .75, .8, .6),
dropoutRate = .001)
AHR(enrollRates = enrollRates, failRates = failRates, totalDuration = c(15, 30))
#> # A tibble: 2 × 5
#> Time AHR Events info info0
#> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 15 0.733 113. 28.1 28.3
#> 2 30 0.718 166. 41.3 41.5
# Same example, give results by strata and time period
AHR(enrollRates = enrollRates, failRates = failRates, totalDuration = c(15, 30), simple = FALSE)
#> # A tibble: 8 × 7
#> Time Stratum t HR Events info info0
#> <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 15 High 0 0.8 12.1 2.99 3.02
#> 2 15 High 1 0.6 23.1 5.72 5.78
#> 3 15 Low 0 0.9 9.96 2.48 2.49
#> 4 15 Low 1 0.75 68.1 16.9 17.0
#> 5 30 High 0 0.8 14.2 3.51 3.54
#> 6 30 High 1 0.6 45.2 11.2 11.3
#> 7 30 Low 0 0.9 9.96 2.48 2.49
#> 8 30 Low 1 0.75 96.8 24.1 24.2