# Cox model for different time intervals within follow up time

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.

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")


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

• Thanks @EdM!. I see what you are saying but I am unclear as to how to implement it in SAS or R. Commented Aug 29, 2022 at 18:11
• @PamG I added an example of how to pull out survival estimates starting from any time covered by a Cox model
– EdM
Commented Sep 4, 2022 at 19:41
• @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).
– John
Commented Jul 15, 2023 at 8:37