stat_seas {ggseas} | R Documentation |
X13 seasonal adjustment Stat
Description
Conducts X13-SEATS-ARIMA seasonal adjustment on the fly for ggplot2
Usage
stat_seas(mapping = NULL, data = NULL, geom = "line",
position = "identity", show.legend = NA, inherit.aes = TRUE,
x13_params = NULL, index.ref = NULL, index.basis = 100,
frequency = NULL, start = NULL, ...)
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 |
x13_params |
a list of other parameters for |
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. |
frequency |
The frequency for the time series |
start |
The starting point for the time series, in a format suitable for |
... |
other arguments for the geom |
See Also
Other time series stats for ggplot2: stat_decomp
,
stat_index
, stat_rollapplyr
,
stat_stl
Examples
## Not run:
ap_df <- tsdf(AirPassengers)
# SEATS with defaults:
ggplot(ap_df, aes(x = x, y = y)) +
stat_seas()
# X11 with no outlier treatment:
ggplot(ap_df, aes(x = x, y = y)) +
stat_seas(x13_params = list(x11 = "", outlier = NULL))
# Multiple time series example:
ggplot(ldeaths_df, aes(x = YearMon, y = deaths, colour = sex)) +
geom_point() +
facet_wrap(~sex) +
stat_seas() +
ggtitle("Seasonally adjusted lung deaths")
# example use of index:
ggplot(ap_df, aes(x = x, y = y)) +
stat_seas(x13_params = list(x11 = "", outlier = NULL),
index.ref = 1, index.basis = 1000) +
labs(y = "Seasonally adjusted index\n(first observation = 1000)")
# if the x value is not a decimal eg not created with time(your_ts_object),
# you need to specify start and frequency by hand:
ggplot(subset(nzbop, Account == "Current account"),
aes(x = TimePeriod, y = Value)) +
stat_seas(start = c(1971, 2), frequency = 12) +
facet_wrap(~Category, scales = "free_y")
## End(Not run)