seasonal 1.9: Accessing composite output

[This article was first published on cynkra, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

seasonal is an easy-to-use and full-featured R interface to X-13ARIMA-SEATS, the seasonal adjustment software developed by the United States Census Bureau. The latest CRAN version of seasonal fixes several bugs and makes it easier to access output from multiple objects. See here for a complete list of changes.

Photo by Aaron Burden

seas() is the core function of the seasonal package. By default, seas() calls the automatic procedures of X-13ARIMA-SEATS to perform a seasonal adjustment that works well in most circumstances:


For a more detailed introduction, read our article in the Journal of Statistical Software.

Multiple series adjustment

The previous version has introduced the adjustment of multiple series in a single call to seas(). This has removed the need for loops or lapply() in such cases and finally brought the composite spec to seasonal.

As Brian Monsell pointed out, this was not enough to access the output from the composite spec. The latest CRAN version fixes this problem.

Multiple adjustments can be performed by supplying multiple time series as an "mts" object:

m0 <- seas(cbind(fdeaths, mdeaths), x11 = "")

This performs two seasonal adjustments, one for fdeaths and one for mdeaths. The vignette on multiple adjustments describes how to specify options for individual series.

Accessing composite output

The composite argument is a list with an X-13 specification applied to the aggregated series:

m1 <- seas(
  cbind(mdeaths, fdeaths),
  composite = list(),
  series.comptype = "add"

With version 1.9 can now use out() to access the output of the composite spec:


We can also use series(), e.g., to access the final, indirectly adjusted series via the composite spec (see ?series for all available series):

series(m1, "composite.indseasadj")
To leave a comment for the author, please follow the link and comment on their blog: cynkra. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)