hampel(x, k, t0 = 3)
2*k+1
in indicesL
with L$y
the corrected time series and
L$ind
the indices of outliers in the `median absolut deviation'
sense.[-k...k]
vicinity of each point at least k
steps away from the end points of
the interval.
At the lower and upper end the time series values are preserved. A high threshold makes the filter more forgiving, a low one will declare
more points to be outliers. t0<-3
(the default) corresponds to Ron
Pearson's 3 sigma edit rule, t0<-0
to John Tukey's median filter.
findpeaks
set.seed(8421)
x <- numeric(1024)
z <- rnorm(1024)
x[1] <- z[1]
for (i in 2:1024) {
x[i] <- 0.4*x[i-1] + 0.8*x[i-1]*z[i-1] + z[i]
}
omad <- hampel(x, k=20)
plot(1:1024, x, type="l")
points(omad$ind, x[omad$ind], pch=21, col="darkred")
grid()
Run the code above in your browser using DataLab