# ts

##### Time-Series Objects

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.

- Keywords
- ts

##### Usage

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

##### Arguments

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

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

For other definitions of ‘time series’ (e.g., time-ordered observations) see the CRAN task view at https://CRAN.R-project.org/view=TimeSeries.

##### Examples

`library(stats)`

```
# 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")
# }
```

*Documentation reproduced from package stats, version 3.5.2, License: Part of R 3.5.2*