Therneau, Terry M., Ph.D.
2015-Dec-04 14:02 UTC
[R] Survival analysis: ERROR: Time and status are different lengths
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 options(na.action="na.exclude") 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,