This is a function for designing a study with a time-to-event outcome whose
inferential target is the hazard ratio. hr_design()
will calculate
the minimum number of events, minimum hazard ratio, power, or Type I error
when the other arguments are specified.
Usage
hr_events(hazard_ratio, power = 0.8, alpha = 0.05, test_sides = 2, ratio = 1)
hr_power(events, hazard_ratio, alpha = 0.05, test_sides = 2, ratio = 1)
hr_alpha(events, hazard_ratio, power = 0.8, test_sides = 2, ratio = 1)
hr_minimal(events, power = 0.8, alpha = 0.05, test_sides = 2, ratio = 1)
hr_design(
events = NULL,
hazard_ratio = NULL,
power = NULL,
alpha = NULL,
test_sides = 2,
ratio = 1
)
Arguments
- hazard_ratio
A
numeric
vector: the minimum hazard ratio of interest- power
A
numeric
vector: the statistical power of interest- alpha
A
numeric
vector: Type I Error probability- test_sides
A
numeric
vector: Number of sides for test (1 or 2)- ratio
A
numeric
vector: the allocation ratio of treatment to control, i.e. for an \(r:1\) trial,ratio
= \(r\).- events
A
numeric
vector: the number of observed events
Value
a numeric
vector or data.frame
, depending on whether
arguments are specified as scalars or vectors.
Details
The function hr_design
takes in user input, and depending on the
arguments supplied, calls the appropriate function depending on whether the
number of pooled events observed (hr_events
), power (hr_power
),
Type I Error (hr_alpha
), or relative risk (hr_minimal
) is left
unspecified.
References
Schoenfeld, DA. 1983. "Sample-Size Formula for the Proportional-Hazards Regression Model." Biometrics 39 (2): 499. https://doi.org/10.2307/2531021.
See also
stats::power.t.test()
for design calculations for a difference in
means, stats::power.prop.test()
for design calculations for a difference in
proportions, rr_design()
for design calculations for a relative
risk estimand.
Examples
# Number of Events
hr_design(
hazard_ratio = 0.75,
power = 0.80,
alpha = 0.05,
test_sides = 2
)
#> [1] 379.3517
# Power
hr_design(
events = 400,
hazard_ratio = 0.75,
alpha = 0.05,
test_sides = 2
)
#> [1] 0.8203911
# Type I Error
hr_design(
events = 400,
hazard_ratio = 0.75,
power = 0.80,
test_sides = 2
)
#> [1] 0.0418308
# Hazard Ratio
hr_design(
events = 400,
power = 0.80,
alpha = 0.05,
test_sides = 2
)
#> hazard_ratio hazard_ratio_inv
#> 1 0.7556639 1.32334