【发布时间】:2019-08-22 02:28:25
【问题描述】:
您好,我想在 R 中做一些看起来应该很简单的事情,但我似乎大脑衰退了。
对于 data.frame 中的每一行,我想在上面的行中获取 Vol 的值,为该行添加 In 的值并减去取决于此值的值。
这是我的尝试,但延迟只是在开始时回溯一行,而不是在计算下一个值后继续回溯
library(dplyr)
df <- data.frame(In = c(1,4,0,0,1,2,3,0,0), Vol = c(1,rep(NA,8)))
df %>% mutate(Vol = (lag(Vol) + In) - (lag(Vol) + In)*0.01)
想要的输出 =
In Vol
1 1 1.00
2 4 4.95
3 0 4.90
4 0 4.85
5 1 5.79
6 2 7.72
7 3 10.61
8 0 10.50
9 0 10.40
【问题讨论】:
-
如果您提供
test的样本以及该样本数据的预期输出,将会有所帮助。 -
哎呀好点@r2evans - 现在已经更新了。