n <- 50
x <- 1:n
y <- rnorm(n=n)
y[n/2] <- 10 # 10 standard deviations
plot(x, y, type="l")
lines(x, despike(y), col="red")
lines(x, despike(y, reference="smooth"), col="darkgreen")
lines(x, despike(y, reference="trim", min=-3, max=3), col="blue")
legend("topright", lwd=1, col=c("black", "red", "darkgreen", "blue"),
legend=c("raw", "median", "smooth", "trim"))
# add a spike to a CTD object
data(ctd)
plot(ctd)
T <- ctd[["temperature"]]
T[10] <- T[10] + 10
ctd[["temperature"]] <- T
CTD <- despike(ctd)
plot(CTD)
Run the code above in your browser using DataLab