TimeSeries Objects
Description
The function ts
is used to create timeseries objects.
as.ts
and is.ts
coerce an object to a timeseries and
test whether an object is a time series.
Usage
1 2 3 4 
Arguments
data 
a vector or matrix of the observed timeseries
values. A data frame will be coerced to a numeric matrix via

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 (1based) 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 
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

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

class 
class to be given to the result, or none if 
names 
a character vector of names for the series in a multiple
series: defaults to the colnames of 
x 
an arbitrary R object. 
... 
arguments passed to methods (unused for the default method). 
Details
The function ts
is used to create timeseries 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 nonnumeric 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 onecolumn 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.
For other definitions of ‘time series’ (e.g., timeordered observations) see the CRAN task view at https://cran.rproject.org/web/views/TimeSeries.html.
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  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 timeseries plot
## Multivariate
z < ts(matrix(rnorm(300), 100, 3), start = c(1961, 1), frequency = 12)
class(z)
head(z) # as "matrix"
plot(z)
plot(z, plot.type = "single", lty = 1:3)
## A phase plot:
plot(nhtemp, lag(nhtemp, 1), cex = .8, col = "blue",
main = "Lag plot of New Haven temperatures")
