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
in the base library and loess
in the modreg 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)