This is a consequence of predict.ols calling predictrms which relies on model.frame which re-issues the expression of x.knots. You would have the same problem if using update(fit object) in another session. For that reason you have to keep an external knots vector available in your environment.
Frank Mark Seeto wrote: > > Dear R-help, > > In the rms package, I have fitted an ols model with a variable > represented as a restricted cubic spline, with the knot locations > specified as a previously defined vector. When I save the model object > and open it in another workspace which does not contain the vector of > knot locations, I get an error message if I try to predict with that > model. This also happens if only one workspace is used, but the vector > of knot locations is removed: > > library(rms) > set.seed(1) > x <- rnorm(100) > y <- 1 + x + x^2 + rnorm(100) > > x.knots <- quantile(x, c(0.2, 0.5, 0.8)) > ols1 <- ols(y ~ rcs(x, x.knots)) > > predict(ols1, data.frame(x = 0)) # This works > rm(x.knots) > predict(ols1, data.frame(x = 0)) # Gives error > > The first predict gives > 1 > 0.8340293 > > while the second predict gives > Error in rcs(x, x.knots) : object 'x.knots' not found > > The same error happens if x.knots is simply defined as a vector like > c(-1, 0, 1) (i.e. not using quantile). Is this the intended behaviour? > The requirement that x.knots be in the workspace seems strange, given > that the knot locations are stored in ols1$Design$parms. > > Thanks for any help you can give. > > Mark Seeto > National Acoustic Laboratories, Australia > > ______________________________________________ > 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. > ----- Frank Harrell Department of Biostatistics, Vanderbilt University -- View this message in context: http://r.789695.n4.nabble.com/predict-with-model-rms-package-tp3581229p3582758.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.