stat_decomp {ggseas} | R Documentation |
Classical seasonal adjustment Stat
Description
Conducts seasonal adjustment on the fly for ggplot2, from classical seasonal decomposition by moving averages
Usage
stat_decomp(mapping = NULL, data = NULL, geom = "line",
position = "identity", show.legend = NA, inherit.aes = TRUE,
frequency = NULL, type = c("additive", "multiplicative"),
index.ref = NULL, index.basis = 100, ...)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
geom |
The geometric object to use display the data |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
frequency |
The frequency for the time series |
type |
The type of seasonal component |
index.ref |
if not NULL, a vector of integers indicating which elements of the beginning of each series to use as a reference point for converting to an index. If NULL, no conversion takes place and the data are presented on the original scale. |
index.basis |
if index.ref is not NULL, the basis point for converting to an index, most commonly 100 or 1000. See examples. |
... |
other arguments for the geom |
Details
Classical decomposition is a very basic way of performing seasonal
adjustment and is not recommended if you have access to X13-SEATS-ARIMA
(stat_seas
). stat_decomp
cannot allow the seasonality to vary
over time, or take outliers into account in calculating seasonality.
See Also
Other time series stats for ggplot2: stat_index
,
stat_rollapplyr
, stat_seas
,
stat_stl
Examples
ap_df <- tsdf(AirPassengers)
# Default additive decomposition (doesn't work well in this case!):
ggplot(ap_df, aes(x = x, y = y)) +
stat_decomp()
# Multiplicative decomposition, more appropriate:
ggplot(ap_df, aes(x = x, y = y)) +
stat_decomp(type = "multiplicative")
# Multiple time series example:
ggplot(ldeaths_df, aes(x = YearMon, y = deaths, colour = sex)) +
geom_point() +
facet_wrap(~sex) +
stat_decomp() +
ggtitle("Seasonally adjusted lung deaths")
# Example using index:
ggplot(ldeaths_df, aes(x = YearMon, y = deaths, colour = sex)) +
facet_wrap(~sex) +
stat_decomp(index.ref = 1:12, index.basis = 1000) +
ggtitle("Rolling annual median lung deaths, indexed (average month in 1974 = 1000)")