Можно ли использовать значения столбца как n в функции dplyr :: lag ?
Воспроизводимый пример:
DF <- data.frame(
V = runif(1000, min=-100, max=100),
nlag = as.integer(runif(1000, min=1, max=10))
) %>%
mutate(Vlag = lag(V, n = nlag))
Я получаю эту ошибку:
Ошибка: ошибка оценки: n
должен быть неотрицательным целочисленным скаляром, а не целым числом длины 1000.
Есть ли другая альтернатива?
Обновление:
Как мы решаем одну и ту же проблему в группах?
Воспроизводимый пример:
DF <- data.frame(
V = runif(1000, min=-100, max=100),
nlag = as.integer(runif(1000, min=1, max=10)),
type = sample(1:4, replace=TRUE)
) %>%
group_by(type) %>%
mutate(Vlag = lag(V, n = nlag))