очень жаль беспокоить вас, ребята.
У меня есть фрейм данных A
Date Currency Exchange TransactionNo AccountNo TransactionType Amount
<date> <chr> <dbl> <int> <dbl> <fct> <dbl>
1 2019-07-01 CNY 0.198 1000001 10001 Spend -12.0
2 2019-07-01 USD 1.35 1000002 10001 Spend -5.31
3 2019-07-01 SGD 1 1000003 10001 Spend -18.5
4 2019-07-01 SGD 1 1000004 10001 Withdraw -5.16
5 2019-07-01 SGD 1 1000005 10001 Withdraw -5.95
6 2019-07-02 USD 1.36 1000051 10001 Spend -8.68
Я хотел бы создать новый столбец с именем Balance.
Первые данныебаланса будет случайным числом от 1000 до 2000 плюс первые данные в сумме. Если предположить, что случайное число равно 1000, то первые данные в балансе будут 988,00 (результат 1000 минус 12,0). Вторые данные баланса должны быть 988,00 + вторые данные в сумме (-5,31), что составляет 982,69. Третьи данные баланса должны быть 982,69 + третьи данные в сумме (-18,5), что составляет 964,19. И так далее.
Я пытаюсь использовать библиотеку (data.table), а затем код
Balance := Amount + shift(Balance, 1L, type="lag")
Конечно, мой код не может отразить тот факт, что мойпервая запись должна быть случайным числом от 1000 до 2000 плюс данные первой строки в сумме.
Я понимаю, что у каждого есть свои обязанности в жизни. Я никогда не забывал ценить каждого человека, который потратил свое время и усилия на помощь другим новым программистам, таким как я. Искренне благодарю вас от всего сердца.