| tsibble | R Documentation |
tsibble(..., key = NULL, index, regular = TRUE, .drop = TRUE)
... |
A set of name-value pairs. |
key |
Variable(s) that uniquely determine time indices. |
index |
A variable to specify the time index variable. |
regular |
Regular time interval ( |
.drop |
If |
A tsibble is sorted by its key first and index.
A tsibble object.
An extensive range of indices are supported by tsibble:
native time classes in R (such as Date, POSIXct, and difftime)
tsibble's new additions (such as yearweek, yearmonth, and yearquarter).
other commonly-used classes: ordered, hms::hms, lubridate::period,
and nanotime::nanotime.
For a tbl_ts of regular interval, a choice of index representation has to
be made. For example, a monthly data should correspond to time index created
by yearmonth, instead of Date or POSIXct. Because months in a year
ensures the regularity, 12 months every year. However, if using Date, a
month containing days ranges from 28 to 31 days, which results in irregular
time space. This is also applicable to year-week and year-quarter.
Tsibble supports arbitrary index classes, as long as they can be ordered from
past to future. To support a custom class, you need to define index_valid()
for the class and calculate the interval through interval_pull().
Key variable(s) together with the index uniquely identifies each record:
Empty: an implicit variable. NULL resulting in a univariate time series.
A single variable: For example, data(pedestrian) uses Sensor as the key.
Multiple variables: For example, Declare key = c(Region, State, Purpose)
for data(tourism).
Key can be created in conjunction with tidy selectors like starts_with().
The interval function returns the interval associated with the tsibble.
Regular: the value and its time unit including "nanosecond", "microsecond", "millisecond", "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: Not determined (?), if it's an empty tsibble, or one entry for
each key variable.
An interval is obtained based on the corresponding index representation:
integerish numerics between 1582 and 2499: "year" (Y). Note the year of
1582 saw the beginning of the Gregorian Calendar switch.
yearquarter: "quarter" (Q)
yearmonth: "month" (M)
yearweek: "week" (W)
Date: "day" (D)
difftime: "week" (W), "day" (D), "hour" (h), "minute" (m), "second" (s)
POSIXt/hms: "hour" (h), "minute" (m), "second" (s), "millisecond" (us),
"microsecond" (ms)
period: "year" (Y), "month" (M), "day" (D), "hour" (h),
"minute" (m), "second" (s), "millisecond" (us), "microsecond" (ms)
nanotime: "nanosecond" (ns)
other numerics &ordered (ordered factor): "unit"
When the interval cannot be obtained due to the mismatched index format, an
error is issued.
The interval is invariant to subsetting, such as filter(), slice(), and [.tbl_ts.
However, if the result is an empty tsibble, the interval is always unknown.
When joining a tsibble with other data sources and aggregating to different
time scales, the interval gets re-calculated.
build_tsibble
# create a tsibble w/o a key
tsibble(
date = as.Date("2017-01-01") + 0:9,
value = rnorm(10)
)
# create a tsibble with a single variable for key
tsibble(
qtr = rep(yearquarter("2010 Q1") + 0:9, 3),
group = rep(c("x", "y", "z"), each = 10),
value = rnorm(30),
key = group
)
# create a tsibble with multiple variables for key
tsibble(
mth = rep(yearmonth("2010 Jan") + 0:8, each = 3),
xyz = rep(c("x", "y", "z"), each = 9),
abc = rep(letters[1:3], times = 9),
value = rnorm(27),
key = c(xyz, abc)
)
# create a tsibble containing "key" and "index" as column names
tsibble(!!!list(
index = rep(yearquarter("2010 Q1") + 0:9, 3),
key = rep(c("x", "y", "z"), each = 10),
value = rnorm(30)),
key = key, index = index
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.