On Sep 7, 2010, at 3:16 PM, David Winsemius wrote:


On Sep 7, 2010, at 2:53 PM, Johann Hibschman wrote:

David Winsemius <dwinsem...@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..

I was assuming you could take all the code work that was already tested and trim out the non essential code and arguments let it work on a new class.


Just tested my theory and it seems to be holding up. Took the example on the predict help page, set three of the variable length components not needed in the predict operations to NULL and the code still runs fine. It does not appear that either predict.glm or predict.lm check to see if there are any missing components:

> ldose <- rep(0:5, 2)
> numdead <- c(1, 4, 9, 13, 18, 20, 0, 2, 6, 10, 12, 16)
> sex <- factor(rep(c("M", "F"), c(6, 6)))
> SF <- cbind(numdead, numalive=20-numdead)
> budworm.lg <- glm(SF ~ sex*ldose, family=binomial)
> budworm.lg["residuals"] <- NULL
> budworm.lg["linear.predictors"] <- NULL
> budworm.lg["fitted.values"] <- NULL
> plot(c(1,32), c(0,1), type = "n", xlab = "dose",
+      ylab = "prob", log = "x")
> text(2^ldose, numdead/20, as.character(sex))
> ld <- seq(0, 5, 0.1)
> lines(2^ld, predict(budworm.lg, data.frame(ldose=ld,
+    sex=factor(rep("M", length(ld)), levels=levels(sex))),
+    type = "response"))

Also took out "y", "qr", "weights", and "prior.weights"
> budworm.lg["y"] <- NULL
> budworm.lg["weights"] <- NULL
> budworm.lg["prior.weights"] <- NULL
> budworm.lg["qr"] <- NULL
... And it continue to perform without throwing an error.

--

David Winsemius, MD
West Hartford, CT

______________________________________________
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.

Reply via email to