loessFit {limma} | R Documentation |

A fast version of locally weighted regression when there is only one x-variable and only the fitted values and residuals are required.

loessFit(y, x, weights=NULL, span=0.3, bin=0.01/(2-is.null(weights)), iterations=4)

`y` |
numeric vector of response values. Missing values are allowed. |

`x` |
numeric vector of predictor values Missing values are allowed. |

`weights` |
numeric vector of non-negative weights. Missing values are allowed. |

`span` |
numeric parameter between 0 and 1 specifying proportion of data to be used in the local regression moving window. Larger numbers give smoother fits. |

`bin` |
numeric value between 0 and 1 giving the proportion of the data which can be grouped in a single bin when doing local regression fit.
`bin=0` forces an exact local regression fit with no interpolation. |

`iterations` |
number of iterations of loess fit |

This function is a low-level equivalent to `lowess`

in the stats package if `weights`

is null and to `loess`

otherwise.
It is intended to give a streamlined common interface to the two functions for use in `normalizeWithinArrays`

.
Note that, while `lowess`

has fewer features than `loess`

, it is faster, uses less memory and uses a more accurate interpolation scheme than `loess`

, so it is desirable to use `lowess`

whenever the extra features of `loess`

are not required.

There are a couple of key differences between `loessFit`

and `loess`

when `weights`

is non-NULL.
One difference is that `loessFit`

returns a linear regression fit if there are insufficient observations to estimate the loess curve, whereas `loess`

will return an error.

The arguments `span`

, `cell`

and `iterations`

here have the same meaning as in `loess`

.
`span`

is equivalent to the argument `f`

of `lowess`

and `iterations`

is equivalent to `iter+1`

.
The parameter `bin`

is intended to give a simple uniform interface to the `delta`

argument of `lowess`

and the `cell`

argument of `loess`

.
`bin`

translates to `delta=bin*diff(range(x))`

in a call to `lowess`

or to `cell=bin/span`

in a call to `loess`

.

Unlike `lowess`

, `loessFit`

returns values in original rather than sorted order.
Also unlike `lowess`

, `loessFit`

allows missing values, the treatment being analogous to `na.exclude`

.

A list with components

`fitted` |
numeric vector of same length as `y` giving the loess fit |

`residuals` |
numeric vector of same length as `x` giving residuals from the fit |

Gordon Smyth

An overview of LIMMA functions for normalization is given in 05.Normalization.

See also `lowess`

and `loess`

in the stats package.

y <- rnorm(1000) x <- rnorm(1000) w <- rep(1,1000) # The following are equivalent apart from execution time # and interpolation inaccuracies system.time(fit <- loessFit(y,x)$fitted) system.time(fit <- loessFit(y,x,w)$fitted) system.time(fit <- fitted(loess(y~x,weights=w,span=0.3,family="symmetric",iterations=4))) # The same but with sorted x-values system.time(fit <- lowess(x,y,f=0.3)$y)

[Package *limma* version 2.4.7 Index]