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.32  
#>  2 2009-01-01 Y      2.19  
#>  3 2009-01-01 Z     -1.27  
#>  4 2009-01-02 X      0.708 
#>  5 2009-01-02 Y      0.113 
#>  6 2009-01-02 Z      1.17  
#>  7 2009-01-03 X      0.0801
#>  8 2009-01-03 Y      0.429 
#>  9 2009-01-03 Z     -1.32  
#> 10 2009-01-04 X      1.80  
#> # … 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.32    2.19  -1.27 
#>  2 2009-01-02  0.708   0.113  1.17 
#>  3 2009-01-03  0.0801  0.429 -1.32 
#>  4 2009-01-04  1.80   -0.398 -6.69 
#>  5 2009-01-05  0.427  -3.04   2.11 
#>  6 2009-01-06  0.135   0.308 -2.77 
#>  7 2009-01-07  0.672   0.300  1.54 
#>  8 2009-01-08  0.392   0.626 -0.881
#>  9 2009-01-09  0.135  -3.40   1.46 
#> 10 2009-01-10  0.631   3.04   6.12