← Back to all sparks
A

adjustedCurves

INFRA · APIS
Velocity0.0

Confounder-Adjusted Survival Curves and Cumulative Incidence Functions

A survival curve package spending release after release correcting its own estimates

survival-analysiscausal-inferencer-packagebiostatisticsmultiple-imputation
Current state
adjustedCurves computes confounder-adjusted survival and cumulative incidence curves across a range of estimators - IPTW, AIPTW, Aalen-Johansen, direct standardisation - with support for multiple imputation and bootstrapping. The recent releases are dominated by corrections to numbers the package already reported. Version 0.11.4 fixed cumulative incidence estimates under method="aalen_johansen" that were being read one time step early, which the maintainer notes could differ substantially when events are few, and added risk and event counts to the ggsurvplot conversion including correctly pooled values under multiple imputation.
Where it's heading
Multiple imputation is the recurring fault line. The standard error pooling formula was implemented incorrectly until 0.11.2, then fixed again in 0.11.3 for the bootstrapping-plus-imputation combination, and 0.11.4 added the pooled risk table values that had previously been omitted entirely. A separate thread quietly removed capability: tmle and ostmle methods went in 0.10.0, and tmle support was pulled again in 0.11.1 after the concrete package left CRAN. Feature work does happen - risk tables, contrast arguments, the extend_to_last control on IPTW curves - but it is outweighed by correction.
Prediction
Expect continued estimator-level corrections rather than new methods, and a possible return of tmle support if its upstream dependency returns to CRAN, since the removal was described as temporary.

Recent moves

  1. 6mo ago

    Off-by-one-step error corrected in cumulative incidence estimates

    The most consequential fix in the visible history: cumulative incidence estimates from cuminc() under the Aalen-Johansen method were evaluated at the time step before the actual step, so every result produced by earlier versions is shifted. The maintainer is direct that differences may be substantial when events are few. Risk and event counts also now reach as_ggsurvplot_df(), with correct pooling under multiple imputation.

    View source ↗
  2. 1y ago

    IPTW curves can now extend to the last observed time

    Adds extend_to_last for IPTW survival curves, with the note explaining that earlier versions hard-coded the conservative behaviour because unpublished simulations showed estimates beyond the last event time are unstable. That reasoning being written down is more valuable than the argument itself. Standard error pooling is corrected again, this time for bootstrapping combined with multiple imputation.

    View source ↗
  3. 2y ago

    Dropped arguments and a wrong multiple-imputation pooling formula

    Two silent-wrong-answer bugs in one release: arguments passed through the dots syntax were not evaluated, so an estimand like ATT never reached weightit(), and the multiple imputation standard error pooling formula was implemented incorrectly. Both change results rather than erroring, which is why the note warns that new and old versions will disagree.

    View source ↗
  4. 2y ago

    Risk tables, contrast consolidation and faster bootstrapping

    The largest feature release in the visible window: risk table support in plot.adjustedsurv(), difference and ratio estimation extended across the RMST, RMTL and survival quantile functions, and those scattered arguments consolidated into a single contrast argument. Internal refactoring cut bootstrap computation time. tmle support was removed here as collateral from concrete leaving CRAN.

    View source ↗
  5. 3y ago

    tmle and ostmle methods dropped

    Removes the targeted maximum likelihood estimators from the supported method set and updates citation information following publication of the accompanying manuscript. A narrowing of the estimator menu, and the first of two occasions tmle support was withdrawn.

    View source ↗
  6. 3y ago

    Dependency compatibility and installation documentation

    Updates code and tests for newer mice and ggplot2 releases and adds CRAN to the installation instructions. Routine post-release tidying, with a documentation note about currently unsupported features.

    View source ↗