Skip to contents

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
#> # ℹ 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
#> # ℹ 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      0.497
#>  2 2009-01-01 Y     -0.168
#>  3 2009-01-01 Z     -3.74 
#>  4 2009-01-02 X      0.779
#>  5 2009-01-02 Y     -4.02 
#>  6 2009-01-02 Z      1.17 
#>  7 2009-01-03 X      1.51 
#>  8 2009-01-03 Y     -1.03 
#>  9 2009-01-03 Z      0.191
#> 10 2009-01-04 X     -1.82 
#> # ℹ 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  0.497 -0.168 -3.74 
#>  2 2009-01-02  0.779 -4.02   1.17 
#>  3 2009-01-03  1.51  -1.03   0.191
#>  4 2009-01-04 -1.82   0.203  1.78 
#>  5 2009-01-05  0.788 -0.112  2.67 
#>  6 2009-01-06 -0.973 -4.86  -1.25 
#>  7 2009-01-07  0.893 -1.25  10.1  
#>  8 2009-01-08  0.763 -1.75  -1.68 
#>  9 2009-01-09  0.651  0.571  5.35 
#> 10 2009-01-10 -0.536  0.688 -0.893