Create a tsibble object

tsibble(..., key = id(), index, regular = TRUE)

## Arguments

... A set of name-value pairs. The names of "key" and "index" should be avoided as they are used as the arguments. Structural variable(s) that define unique time indices, used with the helper id. If a univariate time series (without an explicit key), simply call id(). See below for details. A bare (or unquoted) variable to specify the time index variable. Regular time interval (TRUE) or irregular (FALSE). TRUE finds the greatest common divisor of positive time distances as the interval.

## Value

A tsibble object.

## Details

A tsibble is sorted by its key(s) first and index.

## Index

The time indices are no longer an attribute (for example, the tsp attribute in a ts object), but preserved as the essential component of the tsibble. A few index classes, such as Date, POSIXct, and difftime, forms the basis of the tsibble, with new additions yearweek, yearmonth, and yearquarter representing year-week, year-month, and year-quarter respectively. zoo::yearmth and zoo::yearqtr are also supported. It is extensible to work with custom index, for example trading days and weekly data.

## Key

Key variable(s) together with the index uniquely identifies each record. And key(s) also imposes the structure on a tsibble, which can be created via the id function as identifiers:

• None: an implicit variable id() resulting a univariate time series.

• A single variable: an explicit variable. For example, data(pedestrian) uses the id(Sensor) column as the key.

• Nested variables: a nesting of one variable under another. For example, data(tourism) contains two geographical locations: Region and State. Region is the lower level than State in Australia; in other words, Region is nested into State, which naturally forms a hierarchy. A vertical bar (|) is used to describe this nesting relationship, and thus Region | State. In theory, nesting can involve infinite levels, so is tsibble.

• Crossed variables: a crossing of one variable with another. For example, the geographical locations are crossed with the purpose of visiting (Purpose) in the data(tourism). A comma (,) is used to indicate this crossing relationship. Nested and crossed variables can be combined, such as data(tourism) using id(Region | State, Purpose).

These key variables describe the data structure.

## Interval

The interval function returns the interval associated with the tsibble.

• Regular: the value and its time unit including "second", "minute", "hour", "day", "week", "month", "quarter", "year". An unrecognisable time interval is labelled as "unit".

• Irregular: as_tsibble(regular = FALSE) gives the irregular tsibble. It is marked with !.

• Unknown: if there is only one entry for each key variable, the interval cannot be determined (?).

## Examples

# create a tsibble w/o a key ----
tsbl1 <- tsibble(
date = seq(as.Date("2017-01-01"), as.Date("2017-01-10"), by = 1),
value = rnorm(10),
key = id(), index = date
)
tsbl1#> # A tsibble: 10 x 2 [1DAY]
#>    date          value
#>    <date>        <dbl>
#>  1 2017-01-01  0.386
#>  2 2017-01-02  0.0208
#>  3 2017-01-03  0.00759
#>  4 2017-01-04  0.931
#>  5 2017-01-05 -0.685
#>  6 2017-01-06  0.337
#>  7 2017-01-07 -0.412
#>  8 2017-01-08  0.934
#>  9 2017-01-09  1.84
#> 10 2017-01-10 -0.705
# create a tsibble with one key ----
tsbl2 <- tsibble(
qtr = rep(yearquarter(seq(2010, 2012.25, by = 1 / 4)), 3),
group = rep(c("x", "y", "z"), each = 10),
value = rnorm(30),
key = id(group), index = qtr
)
tsbl2#> # A tsibble: 30 x 3 [1QUARTER]
#> # Keys:      group [3]
#>        qtr group    value
#>      <qtr> <chr>    <dbl>
#>  1 2010 Q1 x      0.00851
#>  2 2010 Q2 x      2.03
#>  3 2010 Q3 x     -1.34
#>  4 2010 Q4 x      1.16
#>  5 2011 Q1 x     -0.203
#>  6 2011 Q2 x     -0.378
#>  7 2011 Q3 x      1.74
#>  8 2011 Q4 x     -0.845
#>  9 2012 Q1 x     -0.962
#> 10 2012 Q2 x      1.02
#> # ... with 20 more rows