gs_power_ahr {gsDesign2} | R Documentation |
Group sequential design power using average hazard ratio under non-proportional hazards
Description
Group sequential design power using average hazard ratio under non-proportional hazards.
Usage
gs_power_ahr(
enroll_rate = define_enroll_rate(duration = c(2, 2, 10), rate = c(3, 6, 9)),
fail_rate = define_fail_rate(duration = c(3, 100), fail_rate = log(2)/c(9, 18), hr =
c(0.9, 0.6), dropout_rate = rep(0.001, 2)),
event = c(30, 40, 50),
analysis_time = NULL,
upper = gs_b,
upar = gsDesign(k = length(event), test.type = 1, n.I = event, maxn.IPlan = max(event),
sfu = sfLDOF, sfupar = NULL)$upper$bound,
lower = gs_b,
lpar = c(qnorm(0.1), rep(-Inf, 2)),
test_lower = TRUE,
test_upper = TRUE,
ratio = 1,
binding = FALSE,
info_scale = c("h0_h1_info", "h0_info", "h1_info"),
r = 18,
tol = 1e-06,
interval = c(0.01, 1000)
)
Arguments
enroll_rate |
An |
fail_rate |
Failure and dropout rates. |
event |
Targeted event at each analysis. |
analysis_time |
Minimum time of analysis. |
upper |
Function to compute upper bound. |
upar |
Parameters passed to |
lower |
Function to compute lower bound. |
lpar |
Parameters passed to |
test_lower |
Indicator of which analyses should include an lower bound;
single value of |
test_upper |
Indicator of which analyses should include an upper
(efficacy) bound; single value of |
ratio |
Experimental:Control randomization ratio (not yet implemented). |
binding |
Indicator of whether futility bound is binding;
default of |
info_scale |
Information scale for calculation. Options are:
|
r |
Integer value controlling grid for numerical integration as in
Jennison and Turnbull (2000); default is 18, range is 1 to 80.
Larger values provide larger number of grid points and greater accuracy.
Normally, |
tol |
Tolerance parameter for boundary convergence (on Z-scale). |
interval |
An interval that is presumed to include the time at which expected event count is equal to targeted event. |
Details
Bound satisfy input upper bound specification in
upper
, upar
, and lower bound specification in lower
, lpar
.
ahr()
computes statistical information at targeted event times.
The expected_time()
function is used to get events and average HR at
targeted analysis_time
.
Value
A tibble with columns Analysis
, Bound
, Z
, Probability
,
theta
, Time
, AHR
, Events
.
Contains a row for each analysis and each bound.
Specification
The contents of this section are shown in PDF user manual only.
Examples
library(gsDesign2)
library(dplyr)
# Example 1 ----
# The default output of `gs_power_ahr()` is driven by events,
# i.e., `event = c(30, 40, 50)`, `analysis_time = NULL`
gs_power_ahr()
# Example 2 ----
# 2-sided symmetric O'Brien-Fleming spending bound, driven by analysis time,
# i.e., `event = NULL`, `analysis_time = c(12, 24, 36)`
gs_power_ahr(
analysis_time = c(12, 24, 36),
event = NULL,
binding = TRUE,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL)
)
# Example 3 ----
# 2-sided symmetric O'Brien-Fleming spending bound, driven by event,
# i.e., `event = c(20, 50, 70)`, `analysis_time = NULL`
gs_power_ahr(
analysis_time = NULL,
event = c(20, 50, 70),
binding = TRUE,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL)
)
# Example 4 ----
# 2-sided symmetric O'Brien-Fleming spending bound,
# driven by both `event` and `analysis_time`, i.e.,
# both `event` and `analysis_time` are not `NULL`,
# then the analysis will driven by the maximal one, i.e.,
# Time = max(analysis_time, calculated Time for targeted event)
# Events = max(events, calculated events for targeted analysis_time)
gs_power_ahr(
analysis_time = c(12, 24, 36),
event = c(30, 40, 50),
binding = TRUE,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.025, param = NULL, timing = NULL)
)