Welcome to ClientVPS Mirrors

README

sgolay

CRAN status R-CMD-check Codecov test coverage

The goal of sgolay is to offer efficient and vectorized Savitzky-Golay filters.

Installation

You can install the CRAN version with

# install.packages("sgolay")

Or you can install the development version of sgolay from GitHub with:

# install.packages("remotes")
remotes::install_github("zeehio/sgolay")

Benchmark

sgolay is faster than signal, especially on either larger filter lengths or when applied on matrices, since it uses the Fast Fourier Transform and avoids several memory copies and extra allocations.

library(sgolay)
x <- matrix(runif(1000*1000), nrow = 1000, ncol = 1000)

filt <- signal::sgolay(p = 2, n = 51)

timing <- bench::mark(
  signal = apply(x, 2L, function(s) signal::sgolayfilt(s, filt)),
  sgolay = sgolay::sgolayfilt(x, filt), 
  min_iterations = 50
)
#> Warning: Some expressions had a GC in every iteration; so filtering is disabled.
plot(timing, type = 'ridge')
#> Loading required namespace: tidyr
#> Picking joint bandwidth of 0.0135

Need a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.

This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.