# Re: [R] coefficients of each local polynomial from loess() or locfit()

From: Dieter Menne <dieter.menne_at_menne-biomed.de>
Date: Fri 05 Jan 2007 - 14:01:46 GMT

Liu, Delong (NIH/CIT) [C] <liud2 <at> mail.nih.gov> writes:

>>>
I want to extract estimated coeffiicents of each local polynomial at given x from loess(), locfit(), or KernSmooth(). Can some experts provide me with suggestions? Thanks.
>>

Try

cars.lo <- loess(dist ~ speed, cars)
str(cars.lo)

List of 17

``` \$ n        : int 50
\$ fitted   : num [1:50]  5.89  5.89 12.57 12.57 15.37 ...
\$ residuals: Named num [1:50] -3.894  4.106 -8.568  9.432  0.631 ...
... omitted

..\$ cell       : num 0.2
..\$ family     : chr "gaussian"

..\$ iterations : num 1

\$ kd       :List of 5
```

..\$ parameter: Named int [1:7] 1 50 2 19 11 1049 849
```  .. ..- attr(*, "names")= chr [1:7] "d" "n" "vc" "nc" ...

..\$ a        : int [1:19] 1 1 1 1 1 1 1 0 0 0 ...
..\$ xi       : num [1:19] 15 12 19 9 13 17 20 0 0 0 ...
..\$ vert     : num [1:2]  3.90 25.11

..\$ vval     : num [1:22]  5.71  1.72 96.46 10.88 41.21 ...

\$ call     : language loess(formula = dist ~ speed, data = cars)

Looks like kd holds information about the polynomials. Then, try

```

getAnywhere(predict.loess)

which will show you that the real work is done in function predLoess. Trying again

getAnywhere(predLoess)

you get an idea how the parameters are used for prediction.

fit[inside] <- .C(R_loess_ifit, as.integer(kd\$parameter),

```     as.integer(kd\$a), as.double(kd\$xi), as.double(kd\$vert),
as.double(kd\$vval), as.integer(M1), as.double(x.evaluate[inside,
]), fit = double(M1))\$fit

```

Dieter

R-help@stat.math.ethz.ch 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. Received on Sat Jan 06 11:41:07 2007

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Sat 06 Jan 2007 - 01:30:25 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.