我设计了一个for循环,引用了计算中的前一条记录。
for(j in 2:nrow(fd1))){
fd1$c[j]=((fd1$c[j-1]+fd1$outflow[j])/(1+fd1$discount_rate[j]))-fd1$inflow[j]
}
我已经使用Dplyr包中的group_by语句对数据帧进行了分组,现在想在不同的组上执行此循环。另外,如果有人可以向我解释如何使用管道执行循环,这将非常有帮助
谢谢您的帮助
答案 0 :(得分:0)
似乎不需要for循环:
fd1 <- fd1 %>%
group_by(id) %>%
mutate(c = (lag(c) + outflow)/(1+discount_rate)-inflow) %>%
filter(!is.na(c)) # if you want to remove resulting NAs (because of lag)