I'm doing some survival analysis in R using the survival package for a patient cohort. When making a Kaplan-Meier curve using survfit, it reports a median survival time. However this value is very different than simply an arithmetic median using median.


survfit(Surv(OS, vital.status) ~ 1, data = df)

reports a median ~440.

Whereas if I run


I get ~180

Even with a subset of the dataframe

sub <- subset(df, df$vital.status == 1)
survfit(Surv(OS, vital.status) ~ 1, data = sub)

I still don't get near the 440 median from the kaplan meier (I got ~ 180 again).

Why is it that this 50% median survival Kaplan meier different from the median from just a basic median. I understand that with the full dataset, the censored data is not included in the median survival. But when I subset for only events, shouldn't the arithmetic median also correspond to the half-way point? What is difference in the interpretation of both of these?


  • 1
    $\begingroup$ I think you need to look again at your sentence starting 'I understand that' which is where you are going astray I think. $\endgroup$
    – mdewey
    Commented Oct 24, 2017 at 16:27
  • $\begingroup$ Do you mind elaborating? $\endgroup$ Commented Oct 24, 2017 at 16:34

1 Answer 1


So I think I figured it out.

In the KM, censored individuals are assumed to be still alive despite their OS time. Thus the 50% assumes that those on the left are on the right side of the distribution.

When running a KM with individuals that all had an event, the median survival time is the same as the standard median.

  • $\begingroup$ Censored individuals do not have an OS time. They have an event time. And that event is a censoring event. The minute after they're censored they may be alive or dead, we don't assume they stay alive. $\endgroup$
    – AdamO
    Commented Jun 11, 2021 at 16:50

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.