Learn R Programming

timetk (version 2.6.1)

tk_augment_lags: Add many lags to the data

Description

A handy function for adding multiple lagged columns to a data frame. Works with dplyr groups too.

Usage

tk_augment_lags(.data, .value, .lags = 1, .names = "auto")

tk_augment_leads(.data, .value, .lags = -1, .names = "auto")

Arguments

.data

A tibble.

.value

One or more column(s) to have a transformation applied. Usage of tidyselect functions (e.g. contains()) can be used to select multiple columns.

.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.

Value

Returns a tibble object describing the timeseries.

Details

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)

See Also

Augment Operations:

Underlying Function:

  • lag_vec() - Underlying function that powers tk_augment_lags()

Examples

Run this code
# NOT RUN {
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)

# }

Run the code above in your browser using DataLab