Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

fortify.tis

Fortify a tis object


Description

A fortify method for tis objects

Usage

## S3 method for class 'tis'
fortify(x, offset = 0.5, dfNames = NULL, timeName = "date")

Arguments

x

A tis object of time series

offset

A number between 0 and 1 specifying where in the period of time represented by the 'ti(x)' the points should eventually be plotted in ggplot2. 'offset = 0' gives the beginning of the period and 'offset = 1' the end of the period, 'offset = 0.5' the middle of the period, and so on. For example if x is a tis object of quarterly time series and offset = 0.5 then the resulting plotted points would fall in the middle of each quarter. offset is passed on to POSIXct(ti(x), offset=offset) and used to create the field date in the resulting data frame.

dfNames

A character vector of the names for the tis objects contained in x. Defaults to the name of the tis object in the univariate case and the column names of the tis object in the multivariate case.

timeName

A character vector of length one with the desired name for the column of dates that will be created from the tis object time index. Default name is "date".

Details

This function turns a tis object into a data frame containing the original time series plus a field of dates adjusted by an ‘offset’, so that the time series can be more easily plotted with ggplot2.

Author(s)

Trevor Davis

See Also

Examples

if(require("ggplot2") && require("reshape")) {
             # Examples of plotting tis series with ggplot2
             require("datasets")
             require("scales")

             # univariate example
             num_discoveries <- as.tis(discoveries)
             ggplot(data = fortify(num_discoveries, offset=0)) + 
                    geom_line(aes(x=date, y=num_discoveries)) + 
                    scale_x_date(breaks = date_breaks("10 years"), labels = date_format("%Y"))
             
             # multivariate example using the "melt trick"
             Seatbelts.tis <- as.tis(Seatbelts[ , c("drivers", "front", "rear")])
             Seatbelt.names <- c("Driver", "Front Seat Passenger", "Back Seat Passenger")
             Seatbelts.df <- fortify(Seatbelts.tis, dfNames = Seatbelt.names,
                                     timeName = "Time")
             Seatbelts.dfm <- melt(Seatbelts.df, id.var = "Time", variable_name="type")
             qplot( Time, value, data = Seatbelts.dfm, geom="line", 
                    group=type, colour=type, linetype=type ) + 
                 geom_vline(xintercept=as.numeric(as.Date("1983-01-31")), 
                    colour="black", linetype="dashed") +
                 ylab("Monthly Road Casulties in the UK")
    }

tis

Time Indexes and Time Indexed Series

v1.38
Unlimited
Authors
Jeff Hallman <jeffhallman@gmail.com>
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.