[R] Survival analysis: ERROR: Time and status are different lengths

Therneau, Terry M., Ph.D. therneau at mayo.edu
Fri Dec 4 15:02:14 CET 2015

I expect that reading the result of print(fit.weib) will answer your question.  If there 
were any missing values in the data set, then the fit.weib$linear.predictors will be 
shorter than the original data set,
and the printout will have a note about "...deleted due to missing".

The simplest solution to this is to set
before doing the fit.  Then predict(fit) and resid(fit) will return vectors of the same 
length as the input data, containing NA in the appropriate positions.  The default 
na.action of "na.omit" leaves missing out of both the fit and the residuals.

(Unfortunately, only a few modeling functions in R pay attention to the difference between 
these two na.action options.)

Terry Therneau

On 12/04/2015 05:00 AM, r-help-request at r-project.org wrote:
> Hi,
> I am fitting an AFT model assuming a Weibull distribution and I would like
> to check the residuals compared to the Kaplan Meier residuals, but when I
> try to create the Kaplan Meier residuals I get an error: Time and status
> are different lengths.
> I am using the following script:
> # Fitting the AFT model
> fit.weib <- survreg(Surv(TimeDeath, event) ~ age + sex + mutation +
> ventilation + BM1 + BM2, data = DF, dist = "weibull")
> fits <- fit.weib$linear.predictors
> resids <- (fit.weib$y[, 1] - fits)/fit.weib$scale
> resKM <- survfit(Surv(resids, event) ~ 1, data = DF)
> I get the error from the last line of the script.
> I tried some things that didn't work and I was wondering if anyone could
> help me.
> If you need more information please let me know.
> Thanks in advance,

More information about the R-help mailing list