gs_power_wlr {gsDesign2} | R Documentation |
Group sequential design power using weighted log rank test under non-proportional hazards
Description
Group sequential design power using weighted log rank test under non-proportional hazards
Usage
gs_power_wlr(
enroll_rate = define_enroll_rate(duration = c(2, 2, 10), rate = c(3, 6, 9)),
fail_rate = tibble(stratum = "All", 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,
binding = FALSE,
upper = gs_b,
lower = gs_b,
upar = gsDesign(k = 3, test.type = 1, n.I = c(30, 40, 50), maxn.IPlan = 50, sfu =
sfLDOF, sfupar = NULL)$upper$bound,
lpar = c(qnorm(0.1), rep(-Inf, 2)),
test_upper = TRUE,
test_lower = TRUE,
ratio = 1,
weight = wlr_weight_fh,
info_scale = c("h0_h1_info", "h0_info", "h1_info"),
approx = "asymptotic",
r = 18,
tol = 1e-06,
interval = c(0.01, 1000)
)
Arguments
enroll_rate |
Enrollment rates. |
fail_rate |
Failure and dropout rates. |
event |
Targeted event at each analysis. |
analysis_time |
Minimum time of analysis. |
binding |
Indicator of whether futility bound is binding;
default of |
upper |
Function to compute upper bound. |
lower |
Function to compute lower bound. |
upar |
Parameters passed to |
lpar |
Parameters passed to |
test_upper |
Indicator of which analyses should include an upper
(efficacy) bound; single value of |
test_lower |
Indicator of which analyses should include an lower bound;
single value of |
ratio |
Experimental:Control randomization ratio (not yet implemented). |
weight |
Weight of weighted log rank test:
|
info_scale |
Information scale for calculation. Options are:
|
approx |
Approximate estimation method for Z statistics.
|
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. |
Value
A list with input parameters, enrollment rate, analysis, and bound.
Specification
The contents of this section are shown in PDF user manual only.
Examples
library(gsDesign)
library(gsDesign2)
# set enrollment rates
enroll_rate <- define_enroll_rate(duration = 12, rate = 500 / 12)
# set failure rates
fail_rate <- define_fail_rate(
duration = c(4, 100),
fail_rate = log(2) / 15, # median survival 15 month
hr = c(1, .6),
dropout_rate = 0.001
)
# set the targeted number of events and analysis time
target_events <- c(30, 40, 50)
target_analysisTime <- c(10, 24, 30)
# Example 1 ----
# fixed bounds and calculate the power for targeted number of events
gs_power_wlr(
enroll_rate = enroll_rate,
fail_rate = fail_rate,
event = target_events,
analysis_time = NULL,
upper = gs_b,
upar = gsDesign(
k = length(target_events),
test.type = 1,
n.I = target_events,
maxn.IPlan = max(target_events),
sfu = sfLDOF,
sfupar = NULL
)$upper$bound,
lower = gs_b,
lpar = c(qnorm(.1), rep(-Inf, 2))
)
# Example 2 ----
# fixed bounds and calculate the power for targeted analysis time
gs_power_wlr(
enroll_rate = enroll_rate,
fail_rate = fail_rate,
event = NULL,
analysis_time = target_analysisTime,
upper = gs_b,
upar = gsDesign(
k = length(target_events),
test.type = 1,
n.I = target_events,
maxn.IPlan = max(target_events),
sfu = sfLDOF,
sfupar = NULL
)$upper$bound,
lower = gs_b,
lpar = c(qnorm(.1), rep(-Inf, 2))
)
# Example 3 ----
# fixed bounds and calculate the power for targeted analysis time & number of events
gs_power_wlr(
enroll_rate = enroll_rate,
fail_rate = fail_rate,
event = target_events,
analysis_time = target_analysisTime,
upper = gs_b,
upar = gsDesign(
k = length(target_events),
test.type = 1,
n.I = target_events,
maxn.IPlan = max(target_events),
sfu = sfLDOF,
sfupar = NULL
)$upper$bound,
lower = gs_b,
lpar = c(qnorm(.1), rep(-Inf, 2))
)
# Example 4 ----
# spending bounds and calculate the power for targeted number of events
gs_power_wlr(
enroll_rate = enroll_rate,
fail_rate = fail_rate,
event = target_events,
analysis_time = NULL,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.2)
)
# Example 5 ----
# spending bounds and calculate the power for targeted analysis time
gs_power_wlr(
enroll_rate = enroll_rate,
fail_rate = fail_rate,
event = NULL,
analysis_time = target_analysisTime,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.2)
)
# Example 6 ----
# spending bounds and calculate the power for targeted analysis time & number of events
gs_power_wlr(
enroll_rate = enroll_rate,
fail_rate = fail_rate,
event = target_events,
analysis_time = target_analysisTime,
upper = gs_spending_bound,
upar = list(sf = gsDesign::sfLDOF, total_spend = 0.025),
lower = gs_spending_bound,
lpar = list(sf = gsDesign::sfLDOF, total_spend = 0.2)
)