# Re: [R] Using lm coefficients in polyroot()

From: Dieter Menne <dieter.menne_at_menne-biomed.de>
Date: Fri 19 Aug 2005 - 19:50:33 EST

Lukasz Komsta <luke <at> novum.am.lublin.pl> writes:

> I need to compute zero of polynomial function fitted by lm. For example
> if I fit cubic equation by fit=lm(y~x+I(x^2)+i(x^3)) I can do it simply
> by polyroot(fit\$coefficients). But, if I fit polynomial of higher order
> and optimize it by stepAIC, I get of course some coefficients removed.
> Then, if i have model
>
> y ~ I(x^2) + I(x^4)
>
> i cannot call polyroot in such way, because there is a need to call
> polyroot(c(0,0,fit\$coefficients,0,fit\$coefficients).
>
> Is there any method to do it automagically? I would like to write small
> function solving polynomial optimized by stepAIC, regardless of missing
> terms.

Are you really sure you want to throw away lower order terms in a fit by misusing stepAIC? With the rare exception of omitting a constant offset, I don't know any case where there are good reasons to omit lower order terms in a fit (willing to learn, though,...).

And if you only want to find the zeroes, it's definitively not useful to "optimize" this way. When factors are involved, stepAIC always keeps lower order terms, but it is expecting a bit too much from stepAIC to expect an "do you really want to do this" here.

For a more competent discussion of the matter, read Bill Venables

Dieter

R-help@stat.math.ethz.ch mailing list