1
$\begingroup$

I have a survival data upto 10 years of followup. I now need to run Cox models for different time horizons like 0-2yr, 2yr-4yrs, 4-6yrs and so on. Is there an easy way to do it in SAS or do I need to run separate PROC PHREG for all subjects who have upto 2yr followup? Then run model on subjects who had 2-4yr of followup?

Any help would be greatly appreciated.

$\endgroup$

1 Answer 1

1
$\begingroup$

A Cox model allows you to use data from all participants in a single model, regardless of individual follow-up times. That's the most efficient use of your data. That allows you to generate survival curves covering the entire 10-year period at once.

After you have the complete model, you can extract information about any particular time interval you wish. That way, individuals with longer follow-up contribute information to all time intervals when they were at risk.

Here's one of the first examples in the R survival vignette:

library(survival)
cfit1 <- coxph(Surv(time, status) ~ age + sex + wt.loss, data=lung)

This is a single model built from data on 228 individuals having observation times from 5 to 1022 days. That uses all the available data.

Although the survfit() function typically is used to display modeled survival curves starting from time = 0, it can display results for different starting times and time intervals. For example, if you want to show predicted survival from cfit1 for males (blue) versus females (red) between years 1 and 2, conditional on having already survived for one year, you can use the start.time argument to start with both groups at 100% survival, and limit the display to the subsequent year by setting xlim:

plot(survfit(cfit1,
    newdata=data.frame(age=c(63,63),sex=c(1,2),wt.loss=c(7,7)),
    start.time=365),
    xlab="Time",ylab="Fraction surviving",
    xlim=c(365,730),col=c("blue","red"),bty="n")

lung survival starting from 1 year

You can also include confidence intervals or indicate censoring times on the curves as you wish.

$\endgroup$
3
  • $\begingroup$ Thanks @EdM!. I see what you are saying but I am unclear as to how to implement it in SAS or R. $\endgroup$
    – Pam G
    Commented Aug 29, 2022 at 18:11
  • $\begingroup$ @PamG I added an example of how to pull out survival estimates starting from any time covered by a Cox model $\endgroup$
    – EdM
    Commented Sep 4, 2022 at 19:41
  • $\begingroup$ @EdM, would it also be possible to identify structural breaks or different regimes based on start time? I suppose it would be possible to estimate survival curves based on different start time intervals, and then test their statistical difference. But I was wondering whether there is an approach to identify the breakpoints (i.e. without specifying the date break point myself). $\endgroup$
    – John
    Commented Jul 15, 2023 at 8:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.