所以,我有一个头痛找到一种方法来编程,因为它是非常容易的Excel,我希望这只是我的n 00 b缺乏知识.检查示例表我提出:我的目标是创建最后一列(余额)。
每个TRA(101和102)具有多个IDA(该TRA中所有条目的顺序,从1到最后)。
第一个IDA中的余额是本金的总和。对于每个下一个IDA,余额值减去其本金的总额,直到最后一个余额简单地等于最后一个TDA。
换句话说,一行的余额值是同一行中的本金值加上下一IBA行的余额值之和,直到每个TRA的最后一个为止。
例如:对于TRA 101,我们有四行(IDA从1到4)。第一行的余额值为(-4.799.471 + -14.398.412 = -19.197.882),即第一行的本金加上第二行的余额。对于每个TRA的最后一个IDA(101中的4,102中的9),我只需要本金的值。
我们尝试了这个选项,但是当我们通过TRA具有不同的本金值时,它不起作用。
df %<>%
group_by(TRA)%>%
arrange(desc(IDA))%>%
mutate(saldo = cumsum(Principal))%>%
ungroup()%>%
arrange(TRA)
谁能给我指一条最好的路?
ROW TRA IDA IDB Principal Balance
1 101 1 1011 -4,799,471 -19,197,882
2 101 2 1012 -4,799,471 -14,398,412
3 101 3 1013 -4,799,471 -9,598,941
4 101 4 1014 -4,799,471 -4,799,471
5 102 1 1021 -5,248,583 -47,237,250
6 102 2 1022 -5,248,583 -41,988,667
7 102 3 1023 -5,248,583 -36,740,084
8 102 4 1024 -5,248,583 -31,491,500
9 102 5 1025 -5,248,583 -26,242,917
10 102 6 1026 -5,248,583 -20,994,334
11 102 7 1027 -5,248,583 -15,745,750
12 102 8 1028 -5,248,583 -10,497,167
13 102 9 1029 -5,248,584 -5,248,584
2条答案
按热度按时间7vux5j2d1#
如果您发布的数据是您正在使用的数据框,则需要将 Principal 列转换为数值,例如
mec1mxoz2#
它很好用,不是吗?