This function smoothes signals with a finite difference penalty of order 2. This function is modified from ptw package.

whit2(y, lambda, w = rep(1, ny))

Arguments

y

signal to be smoothed: a vector

lambda

smoothing parameter: larger values lead to more smoothing

w

weights: a vector of same length as y. Default weights are equal to one

Value

A numeric vector, smoothed signal.

References

  1. Eilers, P.H.C. (2004) "Parametric Time Warping", Analytical Chemistry, 76 (2), 404 -- 411.

  2. Eilers, P.H.C. (2003) "A perfect smoother", Analytical Chemistry, 75, 3631 -- 3636.

Author

Paul Eilers, Jan Gerretzen

Examples

library(phenofit)
#> Error in library(phenofit): there is no package called ‘phenofit’
data("MOD13A1")
#> Warning: data set ‘MOD13A1’ not found
dt <- tidy_MOD13(MOD13A1$dt)
#> Error in tidy_MOD13(MOD13A1$dt): object 'MOD13A1' not found
y <- dt[site == "AT-Neu", ][1:120, y]
#> Error in eval(expr, envir, enclos): object 'site' not found
plot(y, type = "b")
#> Error in plot(y, type = "b"): object 'y' not found
lines(whit2(y, lambda = 2), col = 2)
#> Error in whit2(y, lambda = 2): object 'y' not found
lines(whit2(y, lambda = 10), col = 3)
#> Error in whit2(y, lambda = 10): object 'y' not found
lines(whit2(y, lambda = 100), col = 4)
#> Error in whit2(y, lambda = 100): object 'y' not found
legend("bottomleft", paste("lambda = ", c(2, 10, 15)), col = 2:4, lty = rep(1, 3))
#> Error in strwidth(legend, units = "user", cex = cex, font = text.font): plot.new has not been called yet