[R] plotting spline term when frailty term is included
David Winsemius
dwinsemius at comcast.net
Tue Mar 1 20:13:08 CET 2016
> On Mar 1, 2016, at 2:59 AM, Conor Edward Little <cli at ifs.ku.dk> wrote:
>
> Dear colleagues,
>
> I'd very much appreciate your help in resolving a problem that I'm having with plotting a spline term.
>
> I have a Cox PH model including a smoothing spline and a frailty term as follows:
>
> fit<-coxph(Surv(start,end,exit) ~ x + pspline(z) + frailty(a))
>
> When I run a model without a frailty term, I use the following in order to plot the splines:
>
> termplot(fit, term = 2, se = TRUE, ylab = "Log Hazard", rug=TRUE, xlab = "z_name")
>
> However, when the frailty term is included, it gives this error:
>
> Error in pred[, first] : subscript out of bounds
I think this is due to the inability of `predict` to cope with the frailty model when type="terms". Using the example on the ?frailty page as teh basis for a reproducible example:
> predict(coxph(Surv(time, status) ~ age + frailty(inst, df=4), lung), type="terms")
Error in predict.coxph.penal(coxph(Surv(time, status) ~ age + frailty(inst, :
length of 'dimnames' [2] not equal to array extent
>
> What am I doing wrong here? Or is it the case that termplot does not work when splines and frailty are included?
>
> A similar question was asked a number of years ago - as far as I can see it didn't receive an answer (online, at least).
> http://r.789695.n4.nabble.com/a-question-in-coxph-td908035.html
The `?termplot` help-page says that there must be a `predict` method for the object that accepts a "terms"- argument. Therneau advises the use of the 'coxme'-package for mixed effects survival modeling and the `predict.coxme` function does not have a "terms" argument.
Prediction with frailty: I think that the issue of prediction with frailty models may be more complex than you understand. My level of understanding is inadequate as well, so I tried searching for earlier answers. If Thomas Lumley says it is "hard" then I take him at my word. Appears you would need to do calculation separately for each value of the frailty "term" if you stay with the coxph/frailty environment. Therneau has written: "Residuals methods for coxme would be an
important addition and is on my to-do list. (But as my wife would pointout, so is a bathroom remodel and she isn't holding her breath.)". So it appears that the problem is more than just a simple two line bit of code.
Lumley's approach from 10+ years ago:
http://markmail.org/search/?q=list%3Aorg.r-project.r-help+coxph+frailty+prediction+#query:list%3Aorg.r-project.r-help%20coxph%20frailty%20prediction%20+page:1+mid:qy7nxom3uknj2oop+state:results
http://markmail.org/search/?q=list%3Aorg.r-project.r-help+coxph+frailty+prediction+#query:list%3Aorg.r-project.r-help%20coxph%20frailty%20prediction%20+page:1+mid:nbcdjwfs3jhqjsji+state:results
>
> Best,
> Conor Little
>
>
>
> Conor Little
> Postdoctoral Researcher
> Department of Political Science, University of Copenhagen
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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
More information about the R-help
mailing list