R 如何将非零值分配到第一个零值
我有个人在R中的发票和付款信息:R 如何将非零值分配到第一个零值,r,assign,R,Assign,我有个人在R中的发票和付款信息: 也许您知道这样做的最佳方法?如果您以前的值为0,需要用第一个非零值覆盖,那么这里有一个建议: dt$Payment2我真的很难弄清楚如何从你拥有的数据中获取你想要的数据。用什么算法来寻找一个合适的零的替代品? dt <- data.frame(Date = seq.Date(as.Date("2020-01-01"), by = "month", length.out = 9), I
也许您知道这样做的最佳方法?如果您以前的值为0,需要用第一个非零值覆盖,那么这里有一个建议:
dt$Payment2我真的很难弄清楚如何从你拥有的数据中获取你想要的数据。用什么算法来寻找一个合适的零的替代品?
dt <- data.frame(Date = seq.Date(as.Date("2020-01-01"), by = "month", length.out = 9),
Invoice = c(9, 9, 9, 10, 10, 10, 10, 10, 10),
Payment = c(0, 9, 9, 0, 0, 25, 10, 13, 20))
Invoice_date Invoice_amount Payment_date Payment_amount
1 2020-01-01 9 2020-02-01 9 (The 2nd month payment assigned to 1st month)
2 2020-02-01 9 2020-03-01 9 (The 3rd month payment assigned to 2nd month)
3 2020-03-01 9 2020-06-01 9 (original payment - 25, the 6th month payment assigned to 3rd month)
4 2020-04-01 10 2020-06-01 10 (original payment - 25, the 6th month payment assigned to 4th month)
5 2020-05-01 10 2020-06-01 6 (original payment - 25, the 6th month payment assigned to 5th month)
6 2020-05-01 10 2020-07-01 10
7 2020-06-01 10 2020-08-01 10 (original payment - 13)
8 2020-07-01 10 2020-08-01 3 (original payment - 13)
9 2020-07-01 10 2020-09-01 7 (original payment - 20)
10 2020-08-01 10 2020-09-01 10 (original payment - 20)
11 2020-09-01 10 2020-09-01 3 (original payment - 20)