Я хочу вручную создать таблицу, в которой значения одного столбца рассчитываются в зависимости от предыдущего значения этого же столбца.
Например:
tibble(
x = 1:5,
y = x + lag(y, default = 0)
)
Ожидаю следующий результат:
# A tibble: 5 x 2
x y
<int> <dbl>
1 1 1
2 2 3
3 3 6
4 4 10
5 5 15
Но я получаю ошибку:
Error in lag(y, default = 0) : object 'y' not found
Обновление - более реальный пример:
tibble(
years = 1:5,
salary = 20000 * (1.01) ^ lag(years, default = 0),
qta = salary * 0.06
) %>%
mutate(
total = ifelse(row_number() == 1,
(qta + 50000) * (1.02),
(qta + lag(total, default = 0)) * (1.02))
)
В этом примере у меня есть тиббл, и я хочу добавить столбец 'total', который определяется в зависимости от его предыдущего значения, но lag(total, default = 0)
не работает.