On Dec 19, 2009, at 2:22 AM, David Hugh-Jones wrote:
> Hi all
>
> I want to get the design matrix for a model, evaluated at a single
> value.
> For example, if I pass in a data frame with a=2, b=2, y=3, and my
> model is y ~ a+b+a:b, then I would like to get
> the values 3, 2, 2, 4 out. I can do this with:
>
> tmp <- model.matrix(fit, data=mydata)
>
> or
>
> tmp <- predict(fit, newdata=mydata, type="terms")
>
> However, if the fit had a smoothing spline component, this fails. It
> seems like the prediction function is trying to reevaluate the basis
> for the spline, and as there is only one row in the new data, it can't
> do that.
>
> Is there a way I can get the value of the already-created spline? And
> is there a simple way to do this programmatically so I don't need to
> check each term of the formula individually?
Probably.
But you have not given any details about your modeling functions, so
"probably" is about all that can be said. Parametric splines would
have a greater likelihood of having a compact representation which is
what you are probably seeking. Harrell's packages are the ones I have
the most experience with and his Function function gives a very quick
answer.
--
David Winsemius, MD
Heritage Laboratories
West Hartford, CT