[R] Compare mean survival time

Terry Therneau therneau at mayo.edu
Wed Feb 20 15:20:58 CET 2008

Xing Yuan wrote:
> Dear List,
> Does anybody no how to compare mean survival times for two (more) groups in
> R? What test statistics should I use?

   Because of censoring, you can only compare the conditional means.  That is, 
given a pre-defined cutpoint such as "2 years", you estimate the expected amount 
of the next 2 years that a person in each group will experience.  For stability 
you need to have the cutpoint be smaller than the larger censoring times.  (If 
no one has more than 2 years of fu, setting the cutpoint to 5 years is silly).
   The current survfit routine calculates the conditional mean and se() thereof 
for each curve.  Unfortunately, it chooses the cutpoint per curve, as the 
largest time value in that curve.  To make the numbers from two curves 
comparable, they need to have a common cutpoint.  And, as Thomas L has pointed 
out to me, the cutpoint value should not be a value derived from the data, since 
the se calculation is under the assumption of a fixed cutpoint.  This is easily 
done by preprocessing the data.  (The cutpoint must be small enough so that 
every curve is "cut off" somewhat for this to work).
   	newtime <- pmin(time, cutpoint)
   	newstat <- ifelse(time<=cutpoint, status, 0)
   	fit <- survfit(Surv(newtime, newstat) ~ group)
   	print(fit, show.rmean=T)

(This will be easier in the future, by giving a cutpoint to the print function).  	

Since the curves are independent, the variance of the difference in means is the 
sum of the variances.

	Terry Therneau

More information about the R-help mailing list