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.

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

data

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

. (See also ‘Details’.)

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", "matrix")`

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).

The function `ts`

is used to create time-series objects. These
are vectors 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.

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

`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., time-ordered observations) see the CRAN task view at https://CRAN.R-project.org/view=TimeSeries.

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