Column-wise verbs

  • The index variable cannot be dropped for a tsibble object.

  • When any key variable is modified, a check on the validity of the resulting tsibble will be performed internally.

  • Use as_tibble() to convert tsibble to a general data frame.

Row-wise verbs

A warning is likely to be issued, if observations are not arranged in past-to-future order.

Join verbs

Joining with other data sources triggers the check on the validity of the resulting tsibble.

Examples

library(dplyr, warn.conflicts = FALSE)
# `summarise()` a tsibble always aggregates over time
# Sum over sensors
pedestrian %>%
  index_by() %>%
  summarise(Total = sum(Count))
#> # A tsibble: 17,542 x 2 [1h] <Australia/Melbourne>
#>    Date_Time           Total
#>    <dttm>              <int>
#>  1 2015-01-01 00:00:00  2866
#>  2 2015-01-01 01:00:00  1535
#>  3 2015-01-01 02:00:00   994
#>  4 2015-01-01 03:00:00   569
#>  5 2015-01-01 04:00:00   311
#>  6 2015-01-01 05:00:00   159
#>  7 2015-01-01 06:00:00   129
#>  8 2015-01-01 07:00:00   146
#>  9 2015-01-01 08:00:00   258
#> 10 2015-01-01 09:00:00   419
#> # … with 17,532 more rows
# shortcut
pedestrian %>%
  summarise(Total = sum(Count))
#> # A tsibble: 17,542 x 2 [1h] <Australia/Melbourne>
#>    Date_Time           Total
#>    <dttm>              <int>
#>  1 2015-01-01 00:00:00  2866
#>  2 2015-01-01 01:00:00  1535
#>  3 2015-01-01 02:00:00   994
#>  4 2015-01-01 03:00:00   569
#>  5 2015-01-01 04:00:00   311
#>  6 2015-01-01 05:00:00   159
#>  7 2015-01-01 06:00:00   129
#>  8 2015-01-01 07:00:00   146
#>  9 2015-01-01 08:00:00   258
#> 10 2015-01-01 09:00:00   419
#> # … with 17,532 more rows
# Back to tibble
pedestrian %>%
  as_tibble() %>%
  summarise(Total = sum(Count))
#> # A tibble: 1 × 1
#>      Total
#>      <int>
#> 1 45483871

library(tidyr)
stocks <- tsibble(
  time = as.Date("2009-01-01") + 0:9,
  X = rnorm(10, 0, 1),
  Y = rnorm(10, 0, 2),
  Z = rnorm(10, 0, 4)
)
#> Using `time` as index variable.
(stocksm <- stocks %>%
  pivot_longer(-time, names_to = "stock", values_to = "price"))
#> # A tsibble: 30 x 3 [1D]
#> # Key:       stock [3]
#>    time       stock  price
#>    <date>     <chr>  <dbl>
#>  1 2009-01-01 X      1.51 
#>  2 2009-01-01 Y     -1.07 
#>  3 2009-01-01 Z     -1.61 
#>  4 2009-01-02 X      0.373
#>  5 2009-01-02 Y      1.20 
#>  6 2009-01-02 Z     -0.294
#>  7 2009-01-03 X      0.755
#>  8 2009-01-03 Y      2.34 
#>  9 2009-01-03 Z      2.22 
#> 10 2009-01-04 X      2.14 
#> # … with 20 more rows
stocksm %>%
  pivot_wider(names_from = stock, values_from = price)
#> # A tsibble: 10 x 4 [1D]
#>    time             X      Y      Z
#>    <date>       <dbl>  <dbl>  <dbl>
#>  1 2009-01-01  1.51   -1.07  -1.61 
#>  2 2009-01-02  0.373   1.20  -0.294
#>  3 2009-01-03  0.755   2.34   2.22 
#>  4 2009-01-04  2.14   -0.889 -0.132
#>  5 2009-01-05  1.34    1.88  -7.58 
#>  6 2009-01-06  0.0633 -0.866  4.05 
#>  7 2009-01-07  0.299  -2.91   1.47 
#>  8 2009-01-08 -0.532  -1.69  -1.67 
#>  9 2009-01-09 -0.519  -2.90  -4.89 
#> 10 2009-01-10 -0.949   0.267  1.31