Learn R Programming

ggseas (version 0.2.0)

stat_stl: LOESS seasonal adjustment Stat

Description

Conducts seasonal adjustment on the fly for ggplot2, from LOESS seasonal decomposition

Usage

stat_stl(mapping = NULL, data = NULL, geom = "line",
  position = "identity", show.legend = NA, inherit.aes = TRUE, frequency,
  s.window, ...)

Arguments

mapping
The aesthetic mapping, usually constructed with aes or aes_string. Only needs to be set at the layer level if you are overriding the plot defaults.
data
A layer specific dataset - only needed if you want to override the plot defaults.
geom
The geometric object to use display the data
position
The position adjustment to use for overlapping points on this layer
show.legend
logical. Should this layer be included in the legends? NA, the default, includes if any aesthetics are mapped. FALSE never includes, and TRUE always includes.
inherit.aes
If FALSE, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from the default plot specification, e.g.
frequency
The frequency for the time series
s.window
either the character string "periodic" or the span (in lags) of the loess window for seasonal extraction, which should be odd and at least 7, according to Cleveland et al. This has no default and must be chosen.
...
other arguments for the geom

See Also

Other time.series.stats.for.ggplot2: stat_decomp, stat_seas

Examples

Run this code
ap_df <- tsdf(AirPassengers)

# periodic if fixed seasonality; doesn't work well:
ggplot(ap_df, aes(x = x, y = y)) +
   stat_stl(frequency = 12, s.window = "periodic")

# seasonality varies a bit over time, works better:
ggplot(ap_df, aes(x = x, y = y)) +
   stat_stl(frequency = 12, s.window = 7)

ggplot(ldeaths_df, aes(x = YearMon, y = deaths, colour = sex)) +
geom_point() +
  facet_wrap(~sex) +
stat_stl(frequency = 12, s.window = 7) +
   ggtitle("Seasonally adjusted lung deaths")

Run the code above in your browser using DataLab