1
我有幾個賬戶,我試圖計算移動30天的存款總額,按賬戶分組。我想做這個計算的31次迭代。因此,每個賬戶將有31筆款項,相當於30天的存款總額。例如,第一次迭代是從10/1到10/30的存款,第二次迭代是10/2到10/31 ....然後最終例如是11/1到11/30。R:循環邏輯來計算移動總和30天
我的第一個想法是做兩個循環,用帳戶和計算一組。
這裏通過61
x <- data.frame(day = c(1:61),
account = ifelse(runif(61) <.5, 10, 11),
amount = rnorm(61,mean = 100, sd = 10))
numinterations<-31
numsumdays<-30
monthsums<- for(i in 1:ndays){
for(i in 1:numsumdays){
sum(testloop$daily_total) group by account
}
}
笨拙很好,真正的數據會被完全佔用。那麼不使用dplyr的解決方案呢?我不知道如何將該rollapply函數應用於其他分組函數 – Rob
我編輯瞭解決方案,因此不再需要dplyr。如果您想使用不標準的聚合函數,只需編寫自己的函數並將其名稱提供給FUN參數。只要它將一個向量值作爲其輸入,並將一個值作爲它的輸出值,它就可以工作。 – mpjdem
看起來總數是倒退的,所以從輸出結果來看,賬戶10的第1天滾動總和應該是117.099,而不是1343.但是我看到,在第61天,正確的總和正在被累加起來。 – Rob