[R] Puzzling coefficients for linear fitting to polynom

Bill.Venables at csiro.au Bill.Venables at csiro.au
Fri Mar 7 09:33:38 CET 2008


It does help if you read the help information for poly.

> ?poly
> x <- 1:3
> y <- c(1, 4, 9)
> f <- lm(y ~ poly(x, 2, raw = TRUE))  ## note raw = TRUE
> coef(f)
 (Intercept) poly(x, 2, raw = TRUE)1 poly(x, 2, raw = TRUE)2 
           0                       0                       1 
>  

You were assuming a power basis for the polynomial, 1, x, x^2.  If you
want to use that you must declare that using raw = TRUE.  The default is
to use an orthogonal polynomial basis, and you can expect the
coefficients relative to that to be, well, puzzling.

Bill Venables
CSIRO Laboratories
PO Box 120, Cleveland, 4163
AUSTRALIA
Office Phone (email preferred): +61 7 3826 7251
Fax (if absolutely necessary):  +61 7 3826 7304
Mobile:                         +61 4 8819 4402
Home Phone:                     +61 7 3286 7700
mailto:Bill.Venables at csiro.au
http://www.cmis.csiro.au/bill.venables/ 

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of Firas Swidan, PhD
Sent: Friday, 7 March 2008 6:16 PM
To: r-help at r-project.org
Subject: [R] Puzzling coefficients for linear fitting to polynom

Hi,

I can not comprehend the linear fitting results of polynoms. For
example, given the following data (representing y = x^2):

> x <- 1:3
> y <- c(1, 4, 9)

performing a linear fit

> f <- lm(y ~ poly(x, 2))

gives weird coefficients:

> coefficients(f)
(Intercept) poly(x, 2)1 poly(x, 2)2 
  4.6666667   5.6568542   0.8164966 

However the fitted() result makes sense:

> fitted(f)
1 2 3 
1 4 9 

This is very confusing. How should one understand the result of
coefficients()?

Thanks for any tips,
Firas.

-- 
Firas Swidan, PhD
Founder and CEO
Olymons: Blessing Machines with Vision (TM)
http://www.olymons.com
P.O.Box 8125
Nazareth 16480
Israel
Cell: +.972.(0)54.733.1788

______________________________________________
R-help at 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.



More information about the R-help mailing list