Current dplyr verbs that tsibble has support for:
dplyr::select(), dplyr::transmute(), dplyr::mutate(), dplyr::relocate(),
dplyr::summarise(), dplyr::group_by()
dplyr::left_join(), dplyr::right_join(), dplyr::full_join(),
dplyr::inner_join(), dplyr::semi_join(), dplyr::anti_join(),
dplyr::nest_join()
Current tidyr verbs that tsibble has support for:
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.
A warning is likely to be issued, if observations are not arranged in past-to-future order.
Joining with other data sources triggers the check on the validity of the resulting tsibble.
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