| 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 base library if weights is null and to loess in the modreg package otherwise.
It is used by normalizeWithinArrays.
The parameters span, cell and iterations have the same meaning as in loess.
span is equivalent to the argument f to lowess and iterations is equivalent to iter+1.
Unlike lowess this function returns values in original rather than sorted order.
The parameter bin is equivalent to delta=bin*diff(range(x)) in a call to lowess when weights=NULL or to cell=bin/span in a call to loess when weights are given.
The treatment of missing values is 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 4.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 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))) # Similar but with sorted x-values system.time(fit <- lowess(x,y,f=0.3)$y)