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.