1
我正在尝试计算余额列。Dplyr滚动余额
所以,展现一个例子,我想从这个去:
df <- data.frame(group = c("A", "A", "A", "A", "A"),
start = c(5, 0, 0, 0, 0),
receipt = c(1, 5, 6, 4, 6),
out = c(4, 5, 3, 2, 5))
> df
group start receipt out
1 A 5 1 4
2 A 0 5 5
3 A 0 6 3
4 A 0 4 2
5 A 0 6 5
创建一个新的平衡柱像下面
> dfb
group start receipt out balance
1 A 5 1 4 2
2 A 0 5 5 2
3 A 0 6 3 5
4 A 0 4 2 7
5 A 0 6 5 8
我尝试了以下尝试,但它不是”牛逼工作
dfc <- df %>%
group_by(group) %>%
mutate(balance = if_else(row_number() == 1, start + receipt - out, (lag(balance) + receipt) - out)) %>%
ungroup()
会很感激一些帮助与此有关。谢谢!
为什么'out'在'dfb'和'df'中有所不同? – mt1022
只是修正了现在的 – tonyk