Learn R Programming

gmwm (version 2.0.0)

cfilter: Time Series Convolution Filters

Description

Applies a convolution filter to a univariate time series.

Usage

cfilter(x, filter, sides, circular)

Arguments

x
A column vector of length T
filter
A column vector of length f
sides
An int that takes either 1:for using past values only or 2: filter coefficients are centered around lag 0.
circular
A bool that indicates if the filter should be wrapped around the ends of the time series.

Value

A column vec that contains the results of the filtering process.

Details

This is a port of the cfilter function harnessed by the filter function in stats. It is about 5-7 times faster than R's base function. The benchmark was done on iMac Late 2013 using vecLib as the BLAS.

Examples

Run this code
x = 1:100
# 
cfilter(x, rep(1, 3), sides = 2, circular = FALSE)
# Using R's function
filter(x, rep(1, 3))
#
cfilter(x, rep(1, 3), sides = 1, circular = FALSE)
# Using R's function
filter(x, rep(1, 3), sides = 1)
#
cfilter(x, rep(1, 3), sides = 1, circular = TRUE)
# Using R's function
filter(x, rep(1, 3), sides = 1, circular = TRUE)

Run the code above in your browser using DataLab