我有以下数据框
Accountnumber <- c("00650D-02876","00650D-02876")
Month <- c(1:14,1:20)
rate <- runif(n=1, min=1e-12, max=.9999999999)
df <- data.frame(Accountnumber,Month,rate)
对于每个帐号,我必须对前12个月的费率进行汇总以得出12mRate,并且对帐户的整个期限进行求和以得出TermRate。每个帐户的期限都不同,例如00650D-02876的期限为14(每月直到14),00650D-02877的期限为20(每月直到20)
预期的食物
Accountnumber <- c("00650D-02876","00650D-02876")
rate_12 <- c(9.2716,9.2716)
TermRate <- c(10.8169,15.45282)
df2 <- data.frame(Accountnumber,rate_12,TermRate)
答案 0 :(得分:0)
我建议:
library(data.table)
setDT(df)
df[, rate_12 := .SD[1:12, .(sum(rate))], by = Accountnumber][, rate_term := sum(rate), by = Accountnumber][, .(rate_12 = first(rate_12),rate_term = first(rate_term)), by = Accountnumber]