On Aug 1, 2013, at 1:02 AM, Dumortier, Thomas wrote: > Hello > > I have an issue with obtaining a confidence interval from a coxph object in R > while using a spline-transformed covariate. > > This is a time to event analysis using coxph() from the survival package. > In the model below, COVA is a continuous covariate. COVA is time-dependent > hence the counting process notation. COVA is transformed via pspline, COVB > (FALSE or TRUE) is a fixed covariate. > My goal is to get the confidence interval for COVB. With this purpose, I use > the summary(…,conf.int=.95) function. > I have pasted the code and the console below. > > The estimation works well. > The summary function returns the desired confidence interval in the console, > but it returns a NULL object (psp.sum is returned NULL, see below the code > and the console) > > Note that if I do not use pspline, it works !!!!! > So it seems that the use of pspline is not compatible with the summary > function.
Not exactly. It's two different functions in reality. > > This is a problem because I would like to do some simulation and need to > retrieve the confidence interval from psp.sum. > > Can you kindly help? > > Rgds > Tom > > CODE > > psp<-coxph(Surv(DAY2,DAY2P1,EVTF)~COVB+pspline(COVA, df = 0, caic = > T),data=dsn4,method='breslow') > psp > psp.sum<-summary(psp,conf.int=.95) > psp.sum > If you add the line: class(psp) # you will find that it returns [1] "coxph.penal" "coxph" Then looking at the code for survival:::summary.coxph.penal, you will see that the final line is `invisible()`, so Therneau did not intend anything to be returned from a penalized fit. Generally the failure to return an object is a sign that the author thought it was a bad idea. I think the problem comes from the interval nature of the data layout. In the past, Therneau has written that the request for even plotting a survival curve itself is problematic in this situation. http://markmail.org/message/ufmtidvzfcgqdsot?q=list:org%2Er-project%2Er-help+time+dependent+covariates+survival+from:%22Terry+Therneau%22&page=1 -- David. > CONSOLE > > 1> psp<-coxph(Surv(DAY2,DAY2P1,EVTF)~COVB+pspline(COVA, df = 0, caic = > T),data=dsn4,method='breslow') > > 1> psp > Call: > coxph(formula = Surv(DAY2, DAY2P1, EVTF) ~ COVB + pspline(COVA, > df = 0, caic = T), data = dsn4, method = "breslow") > > coef se(coef) se2 Chisq DF p > COVBTRUE -1.625 0.4223 0.4198 14.80 1.00 1.2e-04 > pspline(COVA, df = 0, caic -0.341 0.0761 0.0761 20.04 1.00 7.6e-06 > pspline(COVA, df = 0, caic 1.95 0.83 1.3e-01 > > Iterations: 10 outer, 29 Newton-Raphson > Theta= 0.98 > Degrees of freedom for terms= 1.0 1.8 > Likelihood ratio test=22.3 on 2.81 df, p=4.52e-05 n= 16933 > > 1> psp.sum<-summary(psp,conf.int=.95) > Call: > coxph(formula = Surv(DAY2, DAY2P1, EVTF) ~ COVB + pspline(COVA, > df = 0, caic = T), data = dsn4, method = "breslow") > > n= 16933, number of events= 35 > > coef se(coef) se2 Chisq DF p > COVBTRUE -1.625 0.4223 0.4198 14.80 1.00 1.2e-04 > pspline(COVA, df = 0, caic -0.341 0.0761 0.0761 20.04 1.00 7.6e-06 > pspline(COVA, df = 0, caic 1.95 0.83 1.3e-01 > > exp(coef) exp(-coef) lower .95 upper .95 > COVBTRUE 0.19690 5.08 8.61e-02 0.4506 > ps(COVA)3 0.59903 1.67 3.48e-01 1.0301 > ps(COVA)4 0.35872 2.79 1.36e-01 0.9470 > ps(COVA)5 0.21394 4.67 5.82e-02 0.7857 > ps(COVA)6 0.12594 7.94 2.69e-02 0.5898 > ps(COVA)7 0.07290 13.72 1.31e-02 0.4051 > ps(COVA)8 0.04275 23.39 6.84e-03 0.2673 > ps(COVA)9 0.02647 37.78 3.89e-03 0.1802 > ps(COVA)10 0.01785 56.04 2.45e-03 0.1301 > ps(COVA)11 0.01310 76.32 1.68e-03 0.1024 > ps(COVA)12 0.01019 98.11 1.19e-03 0.0870 > ps(COVA)13 0.00810 123.39 8.32e-04 0.0790 > ps(COVA)14 0.00645 154.95 5.43e-04 0.0767 > ps(COVA)15 0.00512 195.45 3.26e-04 0.0803 > ps(COVA)16 0.00405 246.92 1.80e-04 0.0913 > ps(COVA)17 0.00320 312.04 9.11e-05 0.1127 > ps(COVA)18 0.00254 394.32 4.29e-05 0.1499 > ps(COVA)19 0.00201 498.30 1.89e-05 0.2133 > > Iterations: 10 outer, 29 Newton-Raphson > Theta= 0.98 > Degrees of freedom for terms= 1.0 1.8 > Concordance= 0.673 (se = 0.05 ) > Rsquare= 0.001 (max possible= 0.026 ) > Likelihood ratio test= 22.3 on 2.81 df, p=4.52e-05 > Wald test = 24.6 on 2.81 df, p=1.48e-05 > > 1> psp.sum > NULL > 1> > > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. David Winsemius Alameda, CA, USA ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.