• arrange(): if not arranging key and index in past-to-future order, a warning is likely to be issued.

  • slice(): if row numbers are not in ascending order, a warning is likely to be issued.

  • select(): keeps the variables you mention as well as the index.

  • transmute(): keeps the variable you operate on, as well as the index and key.

  • summarise() reduces a sequence of values over time instead of a single summary, as well as dropping empty keys/groups.

# S3 method for tbl_ts
arrange(.data, ...)

# S3 method for tbl_ts
filter(.data, ..., .preserve = FALSE)

# S3 method for tbl_ts
slice(.data, ..., .preserve = FALSE)

# S3 method for tbl_ts
select(.data, ...)

# S3 method for tbl_ts
rename(.data, ...)

# S3 method for tbl_ts
mutate(.data, ...)

# S3 method for tbl_ts
transmute(.data, ...)

# S3 method for tbl_ts
summarise(.data, ...)

Arguments

.data

A tbl_ts.

...

Same arguments accepted as its tidyverse generic.

.preserve

when FALSE (the default), the grouping structure is recalculated based on the resulting data, otherwise it is kept as is.

Details

Column-wise verbs, including select(), transmute(), summarise(), mutate() & transmute(), keep the time context hanging around. That is, the index variable cannot be dropped for a tsibble. If any key variable is changed, it will validate whether it's a tsibble internally. Use as_tibble() to leave off the time context.

Examples

library(dplyr, warn.conflicts = FALSE) # 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 x 1 #> Total #> <int> #> 1 45483871
library(tidyr) # reshaping examples from 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 %>% gather(stock, price, -time))
#> # A tsibble: 30 x 3 [1D] #> # Key: stock [3] #> time stock price #> <date> <chr> <dbl> #> 1 2009-01-01 X 0.747 #> 2 2009-01-02 X 1.90 #> 3 2009-01-03 X -2.06 #> 4 2009-01-04 X 0.0645 #> 5 2009-01-05 X -0.265 #> 6 2009-01-06 X -0.447 #> 7 2009-01-07 X -1.41 #> 8 2009-01-08 X -0.506 #> 9 2009-01-09 X -0.270 #> 10 2009-01-10 X -1.09 #> # … with 20 more rows
stocksm %>% spread(stock, price)
#> # A tsibble: 10 x 4 [1D] #> time X Y Z #> <date> <dbl> <dbl> <dbl> #> 1 2009-01-01 0.747 0.724 2.82 #> 2 2009-01-02 1.90 -0.671 3.97 #> 3 2009-01-03 -2.06 2.73 4.58 #> 4 2009-01-04 0.0645 -1.42 -4.96 #> 5 2009-01-05 -0.265 1.32 10.6 #> 6 2009-01-06 -0.447 0.582 -0.628 #> 7 2009-01-07 -1.41 0.396 -1.69 #> 8 2009-01-08 -0.506 -2.41 -0.794 #> 9 2009-01-09 -0.270 -0.0796 -3.58 #> 10 2009-01-10 -1.09 1.37 3.62