index_by | R Documentation |
summarise()
index_by()
is the counterpart of group_by()
in temporal context, but it
only groups the time index. The following operation is applied to each partition
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()
to remove the index grouping vars.
index_by(.data, ...)
.data |
A |
... |
If empty, grouping the current index. If not empty, a single
expression is required for either an existing variable or a name-value pair.
A lambda expression is supported, for example
|
A index_by()
-ed tsibble is indicated by @
in the "Groups" when
displaying on the screen.
pedestrian %>% index_by()
# Monthly counts across sensors
library(dplyr, warn.conflicts = FALSE)
monthly_ped <- pedestrian %>%
group_by_key() %>%
index_by(Year_Month = ~ yearmonth(.)) %>%
summarise(
Max_Count = max(Count),
Min_Count = min(Count)
)
monthly_ped
index(monthly_ped)
# Using existing variable
pedestrian %>%
group_by_key() %>%
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_key() %>%
index_by(Date_Time4 = ~ lubridate::floor_date(., "4 hour")) %>%
summarise(Total_Count = sum(Count))
library(lubridate, warn.conflicts = FALSE)
# Annual trips by Region and State
tourism %>%
index_by(Year = ~ year(.)) %>%
group_by(Region, State) %>%
summarise(Total = sum(Trips))
# Rounding to financial year, using a custom function
financial_year <- function(date) {
year <- year(date)
ifelse(quarter(date) <= 2, year, year + 1)
}
tourism %>%
index_by(Year = ~ financial_year(.)) %>%
summarise(Total = sum(Trips))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.