Learn R Programming

DescTools (version 0.99.57)

MoveAvg: Moving Average

Description

Compute a simple moving average (running mean).

Usage

MoveAvg(x, order, align = c("center", "left", "right"), 
        endrule = c("NA", "keep", "constant"))

Value

Returns a vector of the same size and same class as x.

Arguments

x

univariate time series.

order

order of moving average.

align

specifies whether result should be centered (default), left-aligned or right-aligned.

endrule

character string indicating how the values at the beginning and the end (of the data) should be treated.

"keep"

keeps the first and last \(k_2\) values at both ends, where \(k_2\) is the half-bandwidth k2 = k %/% 2, i.e., y[j] = x[j] for \(j \in \{1,\ldots,k_2; n-k_2+1,\ldots,n\}\);

"constant"

fill the ends with first and last calculated value in output array (out[1:k2] = out[k2+1])

"NA"

the default, leaves the values to NA, as they are returned by filter.

Author

Andri Signorell <andri@signorell.net>

Details

The implementation is using the function filter to calculate the moving average.

See Also

There's a faster implementation of running mean in the package caTools runmean() and a slower one in forecast ma(). There's similar code in Midx().

Examples

Run this code
MoveAvg(AirPassengers, order=5)

Run the code above in your browser using DataLab