我正在尋找解決方案來計算拖欠桶。我已經想出了重設cumsum的部分,但我堅持如何基於觸發器「延遲」cumsum;看到我的,我想做到哪裏我期望的結果是correct_bucket什麼例子:Cumsum重置和延遲
df <- data.frame(id = c(1,1,1,1,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8),
min_due = c(25,50,50,75,25,50,25,50,25,25,25,50,75,100,25,50,75,100,100,25,50,25,14.99,0,25,60,60,0,25,50,75,100,75,25,50,25,50),
payment = c(0,0,25,0,0,0,0,0,50,25,0,0,0,0,0,0,0,0,25,100,0,150,25,14.99,0,25,60,60,0,0,0,0,50,0,0,25,0),
past_due_amt = c(0,25,25,50,0,25,0,25,0,0,0,25,50,75,0,25,50,75,75,0,25,0,0,0,0,0,0,0,0,25,50,75,50,0,25,0,25),
correct_bucket = c(0,1,1,2,0,1,0,1,0,0,0,1,2,3,0,1,2,3,3,0,1,0,0,0,0,0,0,0,0,1,2,3,2,0,1,0,1))
correct_bucket的說明:這表明,通過ID,該min_due被滿足(或不能)由支付地爲大於或等於先前(滯後1)min_pay。例如:ID#1的min_due爲25(在第1行),付款爲0(第2行),因此correct_bucket = 1.正如您所見,在每個示例中,正確存儲桶的值需要迭代取決於付款是否已付款以及付款金額。
想法?請詢問您需要的任何澄清問題,我近在咫尺,歡迎任何額外的幫助!
謝謝!
對不起,我聽不懂你的問題。刪除答案 – akrun
無賴,很遺憾地浪費你的時間 –
沒關係。可能有人能比我更好地理解你的問題 – akrun