NEWS
FastSurvival 0.2.0
- New estimation and testing functions:
rmst_fast(): restricted mean survival time for a single group or a
two-group comparison (difference and ratio contrasts), integrating the
Kaplan-Meier survival step function in a single C++ scan.
milestone_fast(): two-group comparison of Kaplan-Meier survival at a
milestone timepoint, with Wald, log-log, and MOVER inference methods.
maxcombo_fast(): max-combo test over a set of Fleming-Harrington
weighted log-rank statistics, with the joint p-value obtained from the
implied multivariate normal distribution.
rmw_fast(): robust modestly-weighted log-rank test of Magirr and Öhrn,
the maximum of the standard log-rank and a modestly-weighted log-rank
statistic, with the joint p-value obtained from the implied bivariate
normal distribution.
ahsw_fast(): average hazard with survival weight of Uno and Horiguchi,
reporting the ratio (RAH) and difference (DAH) contrasts.
ahr_fast(): Kalbfleisch-Prentice average hazard ratio between two groups
over a restricted interval, the estimator used by Dormuth et al. (2024)
for sample-size calculation under non-proportional hazards, with a test on
the group-share scale and an equivalent test and confidence interval on
the log scale.
survdiff_fast() gains weighted log-rank tests (Fleming-Harrington,
modestly-weighted, Gehan-Breslow, Tarone-Ware) and stratified and
stratified-weighted variants, all sharing the single-scan C++ backend.
- New simulation layer:
simdata_fast() extended with optional subgroups defined by a prevalence
specification and a flexible accrual specification: a.rate gives absolute
accrual rates (with the end of an open final interval solved from the total
when a trailing rate is supplied) and a.prop gives accrual proportions,
with deterministic per-interval accrual counts. The entire generation
pipeline runs in a single C++ kernel that materializes the output data
frame once.
analysis_fast(): interim or sequential analysis of simulated data at one
or more looks, defined by target event counts or calendar times, computed
by a fused C++ kernel that reuses the analysis cores of the standalone
functions. Supports subgroup analyses.
simsummary_fast(): operating-characteristic summary (rejection and
futility rates, stopping-look distribution, expected timing) from
analysis_fast() output and supplied group-sequential boundaries, with a
print() method that lays the results out as a group-sequential design
report.
- Each estimation and testing function has a corresponding
print() method,
and the print methods share a unified display format.
FastSurvival 0.1.0 (2026-05-27)
- Initial release.
- Core computations implemented in
C++ via Rcpp for use inside large
simulation loops.
survfit_fast(): single-time-point Kaplan-Meier estimator with Greenwood
standard error and plain / log / log-log confidence intervals. The C++
backend locates the evaluation cutoff via binary search and accumulates
the Kaplan-Meier product and Greenwood variance sum in a single scan over
event positions. Returns an object of class "survfit_fast" with a
print() method.
survdiff_fast(): log-rank test returning a one-sided Z-score or a
two-sided chi-square statistic. The C++ backend uses a two-pointer merge
scan over pooled sorted vectors, eliminating the rank construction,
tabulate(), and reverse cumulative sum operations of the standard
implementation. Returns an object of class "survdiff_fast" with a
print() method.
coxph_fast(): closed-form hazard ratio estimator via the Pike-Halley
Estimator method with Wald confidence interval. The C++ backend performs
group splitting, at-risk counting, and per-distinct-event-time
accumulation in a single pass. Returns an object of class "coxph_fast"
with a print() method.
simdata_fast(): clinical trial data simulator supporting one- and
two-group designs, piecewise uniform accrual, and simple and piecewise
exponential survival and dropout times. C++ backends handle piecewise
sampling and two-group interleaving, and random number generation uses
dqrng.