broom (version 0.3.7)

zoo_tidiers: Tidying methods for a zoo object

Description

Tidies zoo (Z's ordered observations) time series objects. zoo objects are not tidy by default because they contain one row for each index and one series per column, rather than one row per observation per series.

Usage

## S3 method for class 'zoo':
tidy(x, ...)

Arguments

x
An object of class "zoo"
...
extra arguments (not used)

Value

  • tidy returns a data frame with one row for each observation in each series, with the following columns:
  • indexIndex (usually date) for the zoo object
  • seriesName of the series
  • valueValue of the observation

Examples

Run this code
if (require("zoo", quietly = TRUE)) {
    set.seed(1071)

    # data generated as shown in the zoo vignette
    Z.index <- as.Date(sample(12450:12500, 10))
    Z.data <- matrix(rnorm(30), ncol = 3)
    colnames(Z.data) <- c("Aa", "Bb", "Cc")
    Z <- zoo(Z.data, Z.index)

    tidy(Z)

    if (require("ggplot2", quietly = TRUE)) {
        ggplot(tidy(Z), aes(index, value, color = series)) + geom_line()
        ggplot(tidy(Z), aes(index, value)) + geom_line() +
            facet_wrap(~ series, ncol = 1)

        Zrolled <- rollmean(Z, 5)
        ggplot(tidy(Zrolled), aes(index, value, color = series)) + geom_line()
    }
}

Run the code above in your browser using DataLab