Description Usage Arguments Note Author(s) See Also Examples
View source: R/panel.tskernel.R
Plot time series smoothed by discrete symmetric smoothing kernels. These kernels can be used to smooth time series objects. Options include moving averages, triangular filters, or approximately Gaussian filters.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | panel.tskernel(x, y, ...,
width = NROW(x) %/% 10 + 1, n = 300,
c = 1, sides = 2, circular = FALSE,
kern = kernel("daniell",
rep(floor((width/sides) / sqrt(c)), c)))
simpleSmoothTs(x, ...)
## Default S3 method:
simpleSmoothTs(x, ...,
width = NROW(x) %/% 10 + 1, n = NROW(x),
c = 1, sides = 2, circular = FALSE,
kern = kernel("daniell",
rep(floor((width/sides)/sqrt(c)), c)))
## S3 method for class 'zoo'
simpleSmoothTs(x, ..., n = NROW(x))
|
x, y |
data points. Should define a regular, ordered series.
A time series object can be passed as the first argument, in which
case |
... |
further arguments passed on to |
width |
nominal width of the smoothing kernel in time steps. In the default
case, which is a simple moving average, this is the actual width.
When |
n |
approximate number of time steps desired for the result. If this is
less than the length of |
c |
smoothness of the kernel: |
sides |
if |
circular |
to treat the data as circular (periodic). |
kern |
a |
The author is not an expert on time series theory.
Felix Andrews felix@nfrac.org
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ## a Gaussian-like filter (contrast with c = 1 or c = 2)
xyplot(sunspot.year) +
layer(panel.tskernel(x, y, width = 20, c = 3, col = 1, lwd = 2))
## example from ?kernel:
## long and short moving averages, backwards in time
xyplot(EuStockMarkets[,1]) +
layer(panel.tskernel(x, y, width = 100, col = 1, sides = 1)) +
layer(panel.tskernel(x, y, width = 20, col = 2, sides = 1))
## per group, with a triangular filter
xyplot(EuStockMarkets, superpose = TRUE) +
glayer(panel.tskernel(..., width = 100, c = 2),
theme = simpleTheme(lwd = 2))
## plot the actual kernels used; note adjustment of width
width = 100
kdat <- lapply(1:4, function(c) {
k <- kernel("daniell", rep(floor(0.5*width / sqrt(c)), c))
## demonstrate that the effective bandwidth stays the same:
message("c = ", c, ": effective bandwidth = ", bandwidth.kernel(k))
## represent the kernel as a time series, for plotting
ts(k[-k$m:k$m], start = -k$m)
})
names(kdat) <- paste("c =", 1:4)
xyplot(do.call(ts.union, kdat), type = "h",
scales = list(y = list(relation = "same")))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.