Vector of input lagged along integer vector

lag_run(x, lag = 1L, idx = integer(0), nearest = FALSE)

Arguments

x

(vector, data.frame, matrix, xts, grouped_df)
input data.

lag

(integer or character)
Window shift. Positive shifts back, negative shifts forward. Single value or vector of length(x). Accepts time-interval strings when idx is set.

idx

(integer, Date, POSIXt)
Sorted index of observations. When set, k and lag refer to index distance rather than element count. Must be same length as x.

nearest

logical single value. Applied when idx is used, then nearest = FALSE returns observation lagged exactly by the specified number of "periods". When nearest = TRUE function returns latest observation within lag window.

Examples

lag_run(1:10, lag = 3)
#>  [1] NA NA NA  1  2  3  4  5  6  7
lag_run(letters[1:10], lag = -2, idx = c(1, 1, 1, 2, 3, 4, 6, 7, 8, 10))
#>  [1] "e" "e" "e" "f" NA  "g" "i" NA  "j" NA 
lag_run(letters[1:10], lag = 2, idx = c(1, 1, 1, 2, 3, 4, 6, 7, 8, 10), nearest = TRUE)
#>  [1] NA  "a" "a" "a" "a" "d" "f" "g" "g" "i"