My data frame contains the following columns: date, id, category. I want to create a loop which appends additional columns (category1, category2, etc.) , containing leading categories for each id by date.
My code without a loop looks like this:
df <- df %>%
dplyr::group_by(id) %>%
dplyr::mutate(category1 = dplyr::lead(category, n = 1L, order_by = date))
df <- df %>%
dplyr::group_by(id) %>%
dplyr::mutate(category2 = dplyr::lead(category, n = 2L, order_by = date))
df <- df %>%
dplyr::group_by(id) %>%
dplyr::mutate(category3 = dplyr::lead(category, n = 3L, order_by = date))
#and so on.
What would be the best way to create this loop?
Thank you!