This vignette answers some of the most frequently asked questions about the package.
Since version 0.11.1, it is possible to use the
risk_table
argument of the plot.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 such
tables is a good idea or not.
There is no easy answer to this question, because it is inherently
vague. What should the p-value be for? Which hypothesis should be tested
using it? The package offers multiple different ways to compare adjusted
survival 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 are two main reasons for this: (1) with time-varying covariates, it is unclear 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 which cannot be easily automated. It is doubtful that this package will ever contain such methods, but we won’t rule it out completely.
Unfortunately there is no easy answer for this question either. It
depends both on goals of the analysis, the causal assumptions and the
observed data. Some theoretical guidance and comparison of most of the
implemented methods is given in the associated simulation study (see
Denz et al. 2023). More practical guidance (e.g. which method can I use
to get adjusted survival curves if there are more than two groups of
interest etc.) can be found in the methods vignette
(vignette(topic="method_overview", package="adjustedCurves")
).
The interpretation of the results heavily depend on the causal assumptions made by the user. Resulting survival curves or CIFs cannot generally be interpreted as counterfactual survival curves. This interpretation is only possible under the causal identifiability assumptions and method-specific assumptions, as described in Denz et al. (2023). If these assumptions cannot be made, the results should only be interpreted as “marginal survival curves / CIFs after adjusting for confounders X”.
No, this is generally impossible. Users may, however, use the
adjustedcif()
function to estimate confounder-adjusted
cause-specific cumulative incidence functions instead.
It is possible, but not recommended. To get adjusted survival curves
or CIFs for a continuous variable of interest with this package, users
need to categorize the variable before doing any kind of analysis. This
leads to a loss of information, which may lead to biased estimates or a
loss of statistical power. To circumvent this issue, we developed
another R-package called contsurvplot
which directly
implements plotting methods for continuous variables, as described in
Denz & Timmesfeld (2023).
No, it currently doesn’t. We only know of one type of log-rank test
that allows confounder-adjustment, which is the inverse probability of
treatment weighted log-rank test described by Xie et al. (2005). Since
this only works for one type of method, it is not implemented here. It
is, however, implemented in the RISCA
package. Other ways
to compare survival curves or CIFs using the adjustedCurves
package are described in the documentation and the associated vignette
(vignette(topic="comparing_groups", package="adjustedCurves")
).
The package offers direct support for multiple imputation as
performed using the mice
package. How exactly these
imputations should be performed is beyond the scope of this package. We
recommend seeking information on the mice
package website
or the associated book.
coxph
model with start/stop type data. Can
I use this model to obtain adjusted survival curves?This is currently not supported. More information may be found in the question about time-varying covariates.
Yes, that is possible. For example, if the user wants to use
method="direct"
with a coxph
model as outcome
model, interactions can be included using the standard syntax in the
coxph
call if they are not the main variable of interest.
If, on the other hand, the main thing of interest is the
interaction (e.g. the user wants to plot survival curves / CIFs for all
possible combinations of two categorical variables) a slightly different
procedure is needed. Users then need to construct a new variable that
directly combines the two categorical variables (for example using the
interaction()
function) and use this new variable in both
the adjustedsurv()
/ adjustedcif()
call and
the coxph
model.
We recommend citing the relevant method-specific paper and the paper
associated with this package when using it in a scientific publication.
For example, when using method="iptw_km"
in the
adjustedsurv()
function, we recommend citing both Xie et
al. (2005) and the article associated with the package (Denz et
al. 2023).
Robin Denz, Renate Klaaßen-Mielke, and Nina Timmesfeld (2023). “A Comparison of Different Methods to Adjust Survival Curves for Confounders”. In: Statistics in Medicine 42.10, pp. 1461-1479.
Robin Denz, Nina Timmesfeld (2023). “Visualizing the (Causal) Effect of a Continuous Variable on a Time-To-Event Outcome”. In: Epidemiology 34.5, pp. 652-660.
Jun Xie and Chaofeng Liu (2005). “Adjusted Kaplan-Meier Estimator and Log- Rank Test with Inverse Probability of Treatment Weighting for Survival 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