This vignette answers some of the most frequently asked questionsabout the package.
Since version 0.11.1, it is possible to use therisk_table argument of theplot.adjustedsurv()function to directly add such tables to the plot. It is, however,recommended to read the associated point in the documentation page first(?plot.adjustedsurv) first to find out whether adding suchtables is a good idea or not.
There is no easy answer to this question, because it is inherentlyvague. What should the p-value be for? Which hypothesis should be testedusing it? The package offers multiple different ways to compare adjustedsurvival curves and CIFs, as described in the associated vignette(vignette(topic="comparing_groups", package="adjustedCurves"))and the documentation pages. Some of these also return p-values.
No, time-varying covariates are currently not supported. There aretwo main reasons for this: (1) with time-varying covariates, it isunclear what the target estimand should be (see for example Hernán &Robins 2020) and (2) estimating one of the possible target estimands is,depending on the causal assumptions, a very complicated endeavor whichcannot be easily automated. It is doubtful that this package will evercontain such methods, but we won’t rule it out completely.
Unfortunately there is no easy answer for this question either. Itdepends both on goals of the analysis, the causal assumptions and theobserved data. Some theoretical guidance and comparison of most of theimplemented methods is given in the associated simulation study (seeDenz et al. 2023). More practical guidance (e.g. which method can I useto get adjusted survival curves if there are more than two groups ofinterest etc.) can be found in the methods vignette(vignette(topic="method_overview", package="adjustedCurves")).
The interpretation of the results heavily depend on the causalassumptions made by the user. Resulting survival curves or CIFs cannotgenerally be interpreted as counterfactual survival curves. Thisinterpretation is only possible under the causal identifiabilityassumptions and method-specific assumptions, as described in Denz etal. (2023). If these assumptions cannot be made, the results should onlybe interpreted as “marginal survival curves / CIFs after adjusting forconfounders X”.
No, this is generally impossible. Users may, however, use theadjustedcif() function to estimate confounder-adjustedcause-specific cumulative incidence functions instead.
It is possible, but not recommended. To get adjusted survival curvesor CIFs for a continuous variable of interest with this package, usersneed to categorize the variable before doing any kind of analysis. Thisleads to a loss of information, which may lead to biased estimates or aloss of statistical power. To circumvent this issue, we developedanother R-package calledcontsurvplot which directlyimplements plotting methods for continuous variables, as described inDenz & Timmesfeld (2023).
No, it currently doesn’t. We only know of one type of log-rank testthat allows confounder-adjustment, which is the inverse probability oftreatment weighted log-rank test described by Xie et al. (2005). Sincethis only works for one type of method, it is not implemented here. Itis, however, implemented in theRISCA package. Other waysto compare survival curves or CIFs using theadjustedCurvespackage are described in the documentation and the associated vignette(vignette(topic="comparing_groups", package="adjustedCurves")).
The package offers direct support for multiple imputation asperformed using themice package. How exactly theseimputations should be performed is beyond the scope of this package. Werecommend seeking information on themice package websiteor the associated book.
coxph model with start/stop type data. CanI use this model to obtain adjusted survival curves?This is currently not supported. More information may be found in thequestion about time-varying covariates.
Yes, that is possible. For example, if the user wants to usemethod="direct" with acoxph model as outcomemodel, interactions can be included using the standard syntax in thecoxph call if they are not the main variable of interest.If, on the other hand, the main thing of interestis theinteraction (e.g. the user wants to plot survival curves / CIFs for allpossible combinations of two categorical variables) a slightly differentprocedure is needed. Users then need to construct a new variable thatdirectly combines the two categorical variables (for example using theinteraction() function) and use this new variable in boththeadjustedsurv() /adjustedcif() call andthecoxph model.
We recommend citing the relevant method-specific paper and the paperassociated with this package when using it in a scientific publication.For example, when usingmethod="iptw_km" in theadjustedsurv() function, we recommend citing both Xie etal. (2005) and the article associated with the package (Denz etal. 2023).
Robin Denz, Renate Klaaßen-Mielke, and Nina Timmesfeld (2023). “AComparison of Different Methods to Adjust Survival Curves forConfounders”. In: Statistics in Medicine 42.10, pp. 1461-1479.
Robin Denz, Nina Timmesfeld (2023). “Visualizing the (Causal) Effectof a Continuous Variable on a Time-To-Event Outcome”. In: Epidemiology34.5, pp. 652-660.
Jun Xie and Chaofeng Liu (2005). “Adjusted Kaplan-Meier Estimator andLog- Rank Test with Inverse Probability of Treatment Weighting forSurvival Data”. In: Statistics in Medicine 24, pp. 3089-3110.
Miguel Hernán and James Robins (2020). Causal Inference: What If.Boca Raton: Chapman & Hall/CRC