Learn R Programming

tis (version 1.39)

fortify.tis: Fortify a tis object

Description

A fortify method for tis objects

Usage

# S3 method for 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.

See Also

fortify

Examples

Run this code
# NOT RUN {
    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")
    }
# }

Run the code above in your browser using DataLab