gplots (version 3.1.1)

# lowess: Scatter Plot Smoothing

## Description

The `lowess` function performs the computations for the LOWESS smoother (see the reference below). `lowess` returns a an object containing components `x` and `y` which give the coordinates of the smooth. The smooth can then be added to a plot of the original points with the function `lines`.

Alternatively, `plot` can be called directly on the object returned from `lowess` and the 'lowess' method for `plot` will generate a scatterplot of the original data with a `lowess` line superimposed.

Finally, the `plotLowess` function both calculates the `lowess` smooth and plots the original data with a `lowess` smooth.

## Usage

```lowess(x, ...)# S3 method for default
lowess(x, y=NULL, f=2/3, iter=3L, delta=0.01 *
diff(range(x)), ...)# S3 method for formula
lowess(formula,data=parent.frame(), ..., subset, f=2/3,
iter=3L, delta=.01*diff(range(mf[-response])))# S3 method for lowess
plot(x, y, ..., col.lowess="red", lty.lowess=2)plotLowess(formula, data=parent.frame(), ..., subset=parent.frame(),
col.lowess="red", lty.lowess=2  )```

## Arguments

formula

formula providing a single dependent variable (y) and an single independent variable (x) to use as coordinates in the scatter plot.

data

a data.frame (or list) from which the variables in `formula' should be taken.

subset

an optional vector specifying a subset of observations to be used in the fitting process.

x, y

vectors giving the coordinates of the points in the scatter plot. Alternatively a single plotting structure can be specified.

f

the smoother span. This gives the proportion of points in the plot which influence the smooth at each value. Larger values give more smoothness.

iter

the number of robustifying iterations which should be performed. Using smaller values of `iter` will make `lowess` run faster.

delta

values of `x` which lie within `delta` of each other replaced by a single value in the output from `lowess`.

...

parameters for methods.

col.lowess, lty.lowess

color and line type for plotted line

## References

Cleveland, W. S. (1979) Robust locally weighted regression and smoothing scatterplots. J. Amer. Statist. Assoc. 74, 829--836.

Cleveland, W. S. (1981) LOWESS: A program for smoothing scatterplots by robust locally weighted regression. The American Statistician, 35, 54.

## See Also

`loess` (in package `modreg`), a newer formula based version of `lowess` (with different defaults!).

## Examples

```# NOT RUN {
data(cars)

#
# x,y method
#
plot(cars\$speed, cars\$dist, main="lowess(cars)")
lines(lowess(cars\$speed, cars\$dist), col=2)
lines(lowess(cars\$speed, cars\$dist, f=.2), col=3)
legend(5, 120, c(paste("f=", c("2/3", ".2"))), lty=1, col=2:3)

#
# formula method: plot, then calculate the lowess smoother,
#                 then add smooth to the plot
#
plot(dist ~ speed, data=cars, main="lowess(cars)")
lines(lowess(dist ~ speed, data=cars), col=2, lty=2)
lines(lowess(dist ~ speed, data=cars, f=.2), col=3) # smaller bandwith
legend(5, 120, c(paste("f=", c("2/3", ".2"))), lty=1, col=2:3)

#
# formula method: calculate lowess() smoother, then call plot()
#                  on the lowess object
#
lw <- lowess(dist ~ speed, data=cars)
plot(lw, main="lowess(cars)"  )

#
# formula method: calculate and plot in a single command
#
plotLowess(dist ~ speed, data=cars, main="lowess(cars)")

# }
# NOT RUN {

# }
# NOT RUN {
<!-- % dontshow -->
# }
# NOT RUN {
# }
```