Estimates the blinded dispersion and event rate from aggregated interim data and calculates the required sample size to maintain power, assuming the planned treatment effect holds. This function supports constant rates (Friede & Schmidli 2010) and accommodates future extensions for time-varying rates (Schneider et al. 2013) by using the exposure-adjusted rate.
blinded_ssr(
data,
ratio = 1,
lambda1_planning,
lambda2_planning,
rr0 = 1,
power = 0.8,
alpha = 0.025,
method = "friede",
accrual_rate,
accrual_duration,
trial_duration,
dropout_rate = 0,
max_followup = NULL,
event_gap = NULL
)A list containing:
Re-estimated total sample size using blinded estimates.
Estimated dispersion parameter (k) from blinded data.
Estimated overall event rate from blinded data.
Estimated information fraction at interim (blinded information / target information).
Estimated statistical information from the blinded interim data.
Target statistical information required for the planned power.
A data frame containing the blinded interim data. Must include
columns events (number of events) and tte (total exposure/follow-up time).
This is typically the output of cut_data_by_date().
Planned allocation ratio (experimental / control). Default is 1.
Planned event rate for the control group used in original calculation.
Planned event rate for the experimental group used in original calculation.
Rate ratio under the null hypothesis (lambda2/lambda1). Default is 1.
Target power (1 - beta). Default is 0.8.
One-sided significance level. Default is 0.025.
Method for sample size recalculation. Currently "friede" (Friede & Schmidli 2010) is implemented, which uses the blinded nuisance parameter estimates.
Vector of accrual rates (patients per unit time).
Vector of durations for each accrual rate. Must be same length
as accrual_rate.
Total planned duration of the trial.
Dropout rate (hazard rate). Default is 0.
Maximum follow-up time for any patient. Default is NULL (infinite).
Gap duration after each event during which no new events are counted. Default is NULL (no gap).
Friede, T., & Schmidli, H. (2010). Blinded sample size reestimation with count data: methods and applications in multiple sclerosis. Statistics in Medicine, 29(10), 1145--1156. tools:::Rd_expr_doi("10.1002/sim.3861")
Schneider, S., Schmidli, H., & Friede, T. (2013). Blinded sample size re-estimation for recurrent event data with time trends. Statistics in Medicine, 32(30), 5448--5457. tools:::Rd_expr_doi("10.1002/sim.5977")
interim <- data.frame(events = c(1, 2, 1, 3), tte = c(0.8, 1.0, 1.2, 0.9))
blinded_ssr(
interim,
ratio = 1,
lambda1_planning = 0.5,
lambda2_planning = 0.3,
power = 0.8,
alpha = 0.025,
accrual_rate = 10,
accrual_duration = 12,
trial_duration = 18
)
Run the code above in your browser using DataLab