[R] Saving fits (glm, nls) without data

Johann Hibschman jhibschman at gmail.com
Tue Sep 7 20:53:48 CEST 2010


David Winsemius <dwinsemius at comcast.net> writes:

> On Sep 7, 2010, at 11:02 AM, Johann Hibschman wrote:
>> Even so, I would prefer to only save the coefficients
>
> Have you read through the Value section of glm's help page?
>
> ...and
>
> ?coef

I have; it's easy to get the coefficients. The part I'm struggling with
is reconstituting an operational glm object given the coefficient vector
and the formula.

Really, I was hoping that someone had already done this work, so I could
stop trying re-create the right kind of term object, while making sure
it doesn't hold on to a pointer to an environment with a lot of data in
it, etc., etc..

> The predict.glm function is visible so you can just type its name to
> see the code. It appears that the section of the code that does the
> work is fairly short. This is my nomination for what happens in most
> cases:

> if (!se.fit) {# not generally invoked with se.fit=TRUE
>         }
>         else {
>             pred <- predict.lm(object, newdata, se.fit, scale = 1,
>                 type = ifelse(type == "link", "response", type),
>                 terms = terms, na.action = na.action)
>             switch(type, response = {
>                 pred <- family(object)$linkinv(pred)
>             }, link = , terms = )
>         }

I agree.  That reduces the problem to confecting a working lm object,
given a formula and coefficients.  Unfortunately, I haven't yet figured
out how to do that.

> So maybe you should write a predict function that would work on a
> reduced glm object that has a class name of your choosing.

I'm trying to get this to work, but I haven't figured out yet how to
generate the X matrix properly from the formula and the coefficients.
I'm sure I can eventually get it, but it's annoying.

The whole model whereby fit objects keep around their data so you don't
have to provide it on a few calls just seems like a mistake.

-Johann



More information about the R-help mailing list