lead and lag with respect to a time variable
tlead(x, n = 1L, time, default = NA)tlag(x, n = 1L, time, default = NA)
a vector of values
a positive integer of length 1, giving the number of positions to lead or lag by. When the package lubridate is loaded, it can be a period when using with time (see the lubridate function minutes, hours, days, weeks, months and years)
time variable
value used for non-existant rows. Defaults to NA
.
date <- c(1989, 1991, 1992)
value <- c(4.1, 4.5, 3.3)
tlag(value, 1, time = date) # returns value in year - 1
library(lubridate)
date <- as.monthly(mdy(c("01/04/1992", "03/15/1992", "04/03/1992")))
tlag(value, time = date)
library(dplyr)
df <- tibble(
id = c(1, 2, 2),
date = date,
value = value
)
df %>% group_by(id) %>% mutate(valuel = tlag(value, n = 1, time = date))
Run the code above in your browser using DataLab