# Create a sample data frame
data <- tibble::tibble(
permno = rep(1:2, each = 10),
date = rep(seq.Date(as.Date('2023-01-01'), by = "month", length.out = 10), 2),
bm = runif(20, 0.5, 1.5),
size = runif(20, 100, 200)
)
# Add lagged columns for 'bm' and 'size' with a 3-month lag, grouped by 'permno'
data |>
add_lag_columns(c("bm", "size"), lag = months(3), by = "permno")
# Introduce missing values in the data
data$bm[c(3, 5, 7, 15, 18)] <- NA
data$size[c(2, 4, 8, 13)] <- NA
# Add lagged columns with NA values removed
data |>
add_lag_columns(c("bm", "size"), lag = months(3), by = permno)
Run the code above in your browser using DataLab