【发布时间】:2016-08-31 22:42:50
【问题描述】:
我有一个看起来像这样的表:
cat1 cat2 d
1 A C 0.6445386
2 B D 0.1831454
3 A C 0.5093117
4 A D 0.3516816
5 B C 0.2547064
6 A D 0.3209060
我想计算 cat1 和 cat2 的指数加权移动平均值。
使用零初始值,这将类似于:
table %>%
group_by(cat1,cat2) %>%
arrange(cat1,cat2) %>%
mutate(ema = (1-lambda)*ema+lambda*lag(ema,1,default=0)
但这会返回错误:
Error in (1 - lambda) * ema + lambda * lag(ema, 1, default = 0) :
object 'ema' not found
我该如何解决这个问题?使用 dplyr 不能引用以前的迭代吗?
【问题讨论】:
-
试试TTR包中的EMA功能。
-
我认为不可能在 dplyr 中引用以前的迭代
标签: r