Add many lags to the data
A handy function for adding multiple lagged columns to a data frame.
Works with dplyr
groups too.
tk_augment_lags(.data, .value, .lags = 1, .names = "auto") tk_augment_leads(.data, .value, .lags = -1, .names = "auto")
.data |
A tibble. |
.value |
One or more column(s) to have a transformation applied. Usage
of |
.lags |
One or more lags for the difference(s) |
.names |
A vector of names for the new columns. Must be of same length as |
Lags vs Leads
A negative lag is considered a lead. The tk_augment_leads()
function is
identical to tk_augment_lags()
with the exception that the
automatic naming convetion (.names = 'auto'
) will convert column names with negative lags to
leads.
Benefits
This is a scalable function that is:
Designed to work with grouped data using dplyr::group_by()
Add multiple lags by adding a sequence of lags using
the .lags
argument (e.g. .lags = 1:20
)
Returns a tibble
object describing the timeseries.
Augment Operations:
tk_augment_timeseries_signature()
- Group-wise augmentation of timestamp features
tk_augment_holiday_signature()
- Group-wise augmentation of holiday features
tk_augment_slidify()
- Group-wise augmentation of rolling functions
tk_augment_lags()
- Group-wise augmentation of lagged data
tk_augment_differences()
- Group-wise augmentation of differenced data
tk_augment_fourier()
- Group-wise augmentation of fourier series
Underlying Function:
lag_vec()
- Underlying function that powers tk_augment_lags()
library(tidyverse) library(timetk) # Lags m4_monthly %>% group_by(id) %>% tk_augment_lags(contains("value"), .lags = 1:20) # Leads m4_monthly %>% group_by(id) %>% tk_augment_leads(value, .lags = 1:-20)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.