R: End Points Smoothing (for Running Medians)

smoothEnds {stats} | R Documentation

## End Points Smoothing (for Running Medians)

### Description

Smooth end points of a vector `y` using subsequently smaller medians and Tukey's end point rule at the very end. (of odd span),

### Usage

    smoothEnds(y, k = 3)

### Arguments

`y` | dependent variable to be smoothed (vector).
`k` | width of largest median window; must be odd.

### Details

`smoothEnds` is used to only do the ‘end point smoothing’, i.e., change at most the observations closer to the beginning/end than half the window `k`. The first and last value are computed using Tukey's end point rule, i.e., `sm[1] = median(y[1], sm[2], 3*sm[2] - 2*sm[3])`.

### Value

vector of smoothed values, the same length as `y`.

### Author(s)

Martin Maechler

### References

John W. Tukey (1977) Exploratory Data Analysis, Addison.

Velleman, P.F., and Hoaglin, D.C. (1981) ABC of EDA (Applications, Basics, and Computing of Exploratory Data Analysis); Duxbury.

### See Also

`runmed(*, endrule = "median")` which calls `smoothEnds()`.

### Examples

    require(graphics)

    y <- ys <- (-20:20)^2
    y [c(1,10,21,41)] <-  c(100, 30, 400, 470)
    s7k <- runmed(y, 7, endrule = "keep")
    s7. <- runmed(y, 7, endrule = "const")
    s7m <- runmed(y, 7)
    col3 <- c("midnightblue","blue","steelblue")
    plot(y, main = "Running Medians -- runmed(*, k=7, end.rule = X)")
    lines(ys, col = "light gray")
    matlines(cbind(s7k, s7.,s7m), lwd = 1.5, lty = 1, col = col3)
    legend(1, 470, paste("endrule", c("keep","constant","median"), sep = " = "),
           col = col3, lwd = 1.5, lty = 1)

    stopifnot(identical(s7m, smoothEnds(s7k, 7)))

[Package stats version 3.1.2 Index]