Make natural splines constant outside boundary
Charles C. Berry wrote:
On Sat, 8 Dec 2007, Charles C. Berry wrote:
Gad Abraham <g.abraham <at> ms.unimelb.edu.au> writes:
Hi, I'm using natural cubic splines from splines::ns() in survival regression (regressing inter-arrival times of patients to a queue on queue size). The queue size fluctuates between 3600 and 3900. I would like to be able to run predict.survreg() for sizes <3600 and
3900 by assuming that the rate for <3600 is the same as for 3600 and
that for >4000 it's the same as for 4000 (i.e., keep the splines cubic within the boundaries but make them constant outside the boundaries).
[snip]
Any suggestions?
Here is one.
range(ovarian$age)
[1] 38.8932 74.5041
trim <- function(x) pmin(74.5041 ,pmax(38.8932 , x)) s <- survreg(Surv(futime, fustat) ~ ns(age, knots=c(50,
60),Boundary.knots=c(38.8932, 74.5041)),data=ovarian)
s2 <- survreg(Surv(futime, fustat) ~ ns(trim(age), knots=c(50,
60),Boundary.knots=c(38.8932, 74.5041)),data=ovarian)
Should have copy-and-pasted this here: newage <- data.frame( age=seq(10,200,10 ) )
matplot(newage, cbind(predict(s,newdata=newage),predict(s2,newdata=newage)))
Thanks Chuck, that works nicely. Cheers, Gad -- Gad Abraham Department of Mathematics and Statistics The University of Melbourne Parkville 3010, Victoria, Australia email: g.abraham at ms.unimelb.edu.au web: http://www.ms.unimelb.edu.au/~gabraham
This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.