dplyr (version 0.4.1)

lead-lag: Lead and lag.

Description

Lead and lag are useful for comparing values offset by a constant (e.g. the previous or next value)

Usage

lead(x, n = 1L, default = NA, order_by = NULL, ...)

# S3 method for default lag(x, n = 1L, default = NA, order_by = NULL, ...)

Arguments

x
a vector of values
n
a postive integer of length 1, giving the number of positions to lead or lag by
default
value used for non-existant rows. Defaults to NA.
order_by
override the default ordering to use another vector
...
Needed for compatibility with lag generic.

Examples

Run this code
lead(1:10, 1)
lead(1:10, 2)

lag(1:10, 1)
lead(1:10, 1)

x <- runif(5)
cbind(ahead = lead(x), x, behind = lag(x))

# Use order_by if data not already ordered
df <- data.frame(year = 2000:2005, value = (0:5) ^ 2)
scrambled <- df[sample(nrow(df)), ]

wrong <- mutate(scrambled, prev = lag(value))
arrange(wrong, year)

right <- mutate(scrambled, prev = lag(value, order_by = year))
arrange(right, year)

Run the code above in your browser using DataCamp Workspace