Learn R Programming

IDPmisc (version 0.9.3)

rfbaseline: Robust Fitting of Baselines

Description

Robust fitting of local regression models for estimating a baseline or a background signal

Usage

rfbaseline(x, y, span = 2/3, NoXP = NULL,
           maxit = c(2, 2), b = 3.5, weight = NULL,
           Scale = function(r) median(abs(r))/0.6745,
           delta = NULL, SORT = TRUE, DOT = FALSE, init = NULL)

Arguments

x, y
Abscissa and ordinate of the points on the scatterplot.
span
Specifies the amount of smoothing; span is the fraction of points used to compute each fitted value; as span increases the output becomes smoother.
NoXP
Another way of specifying the amount of smoothing; NoXP is the Number of X Points used to compute each fitted value; it must be larger than 3.
maxit
The number of iterations in the robust fit; if maxit=c(0,0), the nonrobust fit is returned; the first entry specifies the number of iterations using an asymmetric biweight function, whereas the second entry specifies the number of ite
b
Tuning constant in the biweight function.
weight
Optional weights to be given to individual observations.
Scale
function specifying how to calculate the scale of the residuals.
delta
Nonnegative parameter which may be used to save computation. By default, if length(x) <= 100<="" code="">, delta is set equal to 0; if length(x) > 100 set to 1/100th of the range of x.
SORT
Boolean variable indicating whether x data must be sorted. Change it only when the x are sorted and you want to safe computer time.
DOT
If TRUE disregard outliers totally; that is, observations with weight 0 are disregarded even when the neighbourhood is determined.
init
Values of an initial fit.

Value

  • List containing components
  • xSorted input vector x with duplicate points removed
  • yCorresponding input vector y
  • fitFitted values at x
  • rwRobust weights of (x,y)-Points used in last iteration of fit
  • scaleScale used in last iteration of fit

References

Ruckstuhl, Andreas F., Matthew P. Jacobson, Robert W. Field and James A. Dodd (2001); Baseline Subtraction Using Robust Local Regression Estimation; Journal of Quantitative Spectroscopy and Radiative Transfer 68: 179 -- 193 Ruckstuhl, Andreas F., et al.; Estimation of background concentrations of atmospheric trace gases using robust local regression; to be published

See Also

See Also as loess and lowess

Examples

Run this code
data(MS)
MS1 <- log10(MS[MS$mz>12000&MS$mz<1e5,])

MS1.rfb2 <- rfbaseline(x=MS1$mz, y=MS1$I, NoXP=2200, maxit=c(5,0))
plot(x=MS1$mz, y=MS1$I,ty="l",
     xlab="log(mass/charge)", ylab="log(intensity)")
lines(MS1.rfb2$x, MS1.rfb2$fit, col="orange", lwd=3)

MS1.rfb3 <- rfbaseline(x=MS1$mz, y=MS1$I, NoXP=1100, maxit=c(5,0),
                       DOT=TRUE, Scale=function(x) mad(x, center=0))
plot(x=MS1$mz, y=MS1$I,ty="l",
     xlab="log(mass/charge)", ylab="log(intensity)")
lines(MS1.rfb3$x, MS1.rfb3$fit, col="orange", lwd=3)

## 'delta=0' needs much more computer time
MS1.rfb4 <- rfbaseline(x=MS1$mz, y=MS1$I, NoXP=2200,
                       delta=0, maxit=c(5,0))
plot(x=MS1$mz, y=MS1$I,ty="l",
     xlab="log(mass/charge)", ylab="log(intensity)")
lines(MS1.rfb4$x, MS1.rfb4$fit, col="orange", lwd=3)

Run the code above in your browser using DataLab