| index_by {tsibble} | R Documentation |
index_by() is the counterpart of group_by() in temporal context, but it
only groups the time index. It adds a new column and then group it. The
following operation is applied to each group of the index, similar to
group_by() but dealing with index only. index_by() + summarise() will
update the grouping index variable to be the new index. Use ungroup() or
index_by() with no arguments to remove the index grouping vars.
index_by(.data, ...)
.data |
A |
... |
A single name-value pair of expression: a new index on LHS and the current index on RHS. Or an existing variable to be used as index. The index functions that can be used, but not limited:
|
A index_by()-ed tsibble is indicated by @ in the "Groups" when
displaying on the screen.
# Monthly counts across sensors
library(dplyr, warn.conflicts = FALSE)
monthly_ped <- pedestrian %>%
group_by(Sensor) %>%
index_by(Year_Month = yearmonth(Date_Time)) %>%
summarise(
Max_Count = max(Count),
Min_Count = min(Count)
)
monthly_ped
index(monthly_ped)
# Using existing variable
pedestrian %>%
group_by(Sensor) %>%
index_by(Date) %>%
summarise(
Max_Count = max(Count),
Min_Count = min(Count)
)
# Attempt to aggregate to 4-hour interval, with the effects of DST
pedestrian %>%
group_by(Sensor) %>%
index_by(Date_Time4 = lubridate::floor_date(Date_Time, "4 hour")) %>%
summarise(Total_Count = sum(Count))
# Annual trips by Region and State
tourism %>%
index_by(Year = lubridate::year(Quarter)) %>%
group_by(Region, State) %>%
summarise(Total = sum(Trips))