ts                   package:stats                   R Documentation

Time-Series Objects

Description:

     The function 'ts' is used to create time-series objects.

     'as.ts' and 'is.ts' coerce an object to a time-series and test
     whether an object is a time series.

Usage:

     ts(data = NA, start = 1, end = numeric(0), frequency = 1,
        deltat = 1, ts.eps = getOption("ts.eps"), class = , names = )
     as.ts(x, ...)
     is.ts(x)

Arguments:

    data: a numeric vector or matrix of the observed time-series
          values. A data frame will be coerced to a numeric matrix via
          'data.matrix'.

   start: the time of the first observation.  Either a single number or
          a vector of two integers, which specify a natural time unit
          and a (1-based) number of samples into the time unit.  See
          the examples for the use of the second form.

     end: the time of the last observation, specified in the same way
          as 'start'.

frequency: the number of observations per unit of time.

  deltat: the fraction of the sampling period between successive
          observations; e.g., 1/12 for monthly data.  Only one of
          'frequency' or 'deltat' should be provided.

  ts.eps: time series comparison tolerance.  Frequencies are considered
          equal if their absolute difference is less than 'ts.eps'.

   class: class to be given to the result, or none if 'NULL' or
          '"none"'.  The default is '"ts"' for a single series,
          'c("mts", "ts")' for multiple series.

   names: a character vector of names for the series in a multiple
          series: defaults to the colnames of 'data', or 'Series 1',
          'Series 2', ....

       x: an arbitrary R object.

     ...: arguments passed to methods (unused for the default method).

Details:

     The function 'ts' is used to create time-series objects.  These
     are vector or matrices with class of '"ts"' (and additional
     attributes) which represent data which has been sampled at
     equispaced points in time.  In the matrix case, each column of the
     matrix 'data' is assumed to contain a single (univariate) time
     series. Time series must have at least one observation, and
     although they need not be numeric there is very limited support
     for non-numeric series.

     Class '"ts"' has a number of methods.  In particular arithmetic
     will attempt to align time axes, and subsetting to extract subsets
     of series can be used (e.g., 'EuStockMarkets[, "DAX"]').  However,
     subsetting the first (or only) dimension will return a matrix or
     vector, as will matrix subsetting.  Subassignment can be used to
     replace values but not to extend a series (see 'window'). There is
     a method for 't' that transposes the series as a matrix (a
     one-column matrix if a vector) and hence returns a result that
     does not inherit from class '"ts"'.

     The value of argument 'frequency' is used when the series is
     sampled an integral number of times in each unit time interval. 
     For example, one could use a value of '7' for 'frequency' when the
     data are sampled daily, and the natural time period is a week, or
     '12' when the data are sampled monthly and the natural time period
     is a year.  Values of '4' and '12' are assumed in (e.g.) 'print'
     methods to imply a quarterly and monthly series respectively.

     'as.ts' is generic.  Its default method will use the 'tsp'
     attribute of the object if it has one to set the start and end
     times and frequency.

     'is.ts' tests if an object is a time series.  It is generic: you
     can write methods to handle specific classes of objects, see
     InternalMethods.

References:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

See Also:

     'tsp', 'frequency', 'start', 'end', 'time', 'window'; 'print.ts',
     the print method for time series objects; 'plot.ts', the plot
     method for time series objects.

Examples:

     require(graphics)

     ts(1:10, frequency = 4, start = c(1959, 2)) # 2nd Quarter of 1959
     print( ts(1:10, frequency = 7, start = c(12, 2)), calendar = TRUE)
     # print.ts(.)
     ## Using July 1954 as start date:
     gnp <- ts(cumsum(1 + round(rnorm(100), 2)),
               start = c(1954, 7), frequency = 12)
     plot(gnp) # using 'plot.ts' for time-series plot

     ## Multivariate
     z <- ts(matrix(rnorm(300), 100, 3), start=c(1961, 1), frequency=12)
     class(z)
     plot(z)
     plot(z, plot.type="single", lty=1:3)

     ## A phase plot:
     plot(nhtemp, c(nhtemp[-1], NA), cex = .8, col="blue",
          main = "Lag plot of New Haven temperatures")
     ## a clearer way to do this would be
     ## Not run: 
     plot(nhtemp, lag(nhtemp, 1), cex = .8, col="blue",
          main = "Lag plot of New Haven temperatures")
     ## End(Not run)

