Я пытаюсь повторить некоторую формулу

Где;
- r - ставка дисконта,
- возраст
- bi (a) - дециль_INCOME
- f (a, bi (a)) - средний доход в зависимости от возраста и дециля
Данные, которые у меня есть, выглядят так:
# A tibble: 150 x 3
AGE decile_INCOME mean
<dbl> <int> <dbl>
1 81 9 347816.
2 86 2 22700.
3 60 3 39750.
4 91 9 3459166.
5 24 9 54927.
6 64 4 43966.
7 65 3 23289.
8 37 10 360649.
9 69 4 67781.
10 38 2 31198.
Таким образом, для каждого возраста и дециля_дохода я хочу вычислить NPV примерно так, как показано ниже (для небольшой выборки данных и для AGE = 25).

a_bar является индексом, поэтому, используя приведенный выше пример, a = 25, затем a_bar> a, следовательно, a_bar ∈ {26, 27, 28, 29 ...}
Моя попытка: (Я застрял при попытке создать набор последовательностей для "a_bar")
rate = 0.05
npvs <- df %>%
mutate(a_tilde = 34567890, # stuck here
discount = 1 / (1 + rate) ^ (a_tilde - AGE),
NPVs = mean * discount)
РЕДАКТИРОВАТЬ: полные данные:
Пришлось удалить данные из-за ограничения по объему.
EDIT:
Глядя на следующие наблюдения:
В коде мы group_by decile_INCOME
& AGE_REF
- но должны ли мы group_by decile_INCOME
& AGE
?
AGE decile_INCOME mean_AGEbin_decileInc households_per_AGE_decile REF_AGE disc_rate disc_mean
1 20 1 4092.739 12 18 0.9070295 3712.235
2 20 1 4092.739 12 19 0.9523810 3897.847
3 20 1 4092.739 12 20 1.0000000 4092.739
4 20 2 5392.289 12 18 0.9070295 4890.965
5 20 2 5392.289 12 19 0.9523810 5135.513
6 20 2 5392.289 12 20 1.0000000 5392.289
7 20 3 6826.857 12 18 0.9070295 6192.161
8 20 3 6826.857 12 19 0.9523810 6501.769
9 20 3 6826.857 12 20 1.0000000 6826.857
10 20 4 9029.341 12 18 0.9070295 8189.879
11 20 4 9029.341 12 19 0.9523810 8599.373
12 20 4 9029.341 12 20 1.0000000 9029.341
13 20 5 13333.046 12 18 0.9070295 12093.466
14 20 5 13333.046 12 19 0.9523810 12698.139
15 20 5 13333.046 12 20 1.0000000 13333.046
16 20 6 19746.410 12 18 0.9070295 17910.576
17 20 6 19746.410 12 19 0.9523810 18806.105
18 20 6 19746.410 12 20 1.0000000 19746.410
19 20 7 26497.320 12 18 0.9070295 24033.850
20 20 7 26497.320 12 19 0.9523810 25235.542
21 20 7 26497.320 12 20 1.0000000 26497.320
22 20 8 32910.684 12 18 0.9070295 29850.960
23 20 8 32910.684 12 19 0.9523810 31343.508
24 20 8 32910.684 12 20 1.0000000 32910.684
25 20 9 39661.593 12 18 0.9070295 35974.234
26 20 9 39661.593 12 19 0.9523810 37772.946
27 20 9 39661.593 12 20 1.0000000 39661.593
28 20 10 60083.094 12 18 0.9070295 54497.137
29 20 10 60083.094 12 19 0.9523810 57221.994
30 20 10 60083.094 12 20 1.0000000 60083.094
Когда я это делаю, я получаю сюжет, который выглядит так:

Который не выглядит так гладко, как ваш ...