我正在尝试在 R 中计算滚动误差函数,其中我取最后 30 天并计算 rmse,向前移动 1 天并从这一点上取最后 30 天并计算新的 rmse。
我的数据如下所示,其中有一个日期和两个值:
dates val1 val2
1 2010-01-01 -0.479526441 -0.294149127
2 2010-01-02 -0.860588950 0.426375720
3 2010-01-03 -0.660643894 -1.483020861
4 2010-01-04 -0.938748812 -1.631823690
我在代码中哪里出错了?
数据和尝试:
d <- data.frame(
dates = seq(from = as.Date("2010-01-01"), to = as.Date("2012-12-31"), by = 1),
val1 = rnorm(1096),
val2 = rnorm(1096)
)
d %>%
mutate(rollRMSE = rollapply(., width = 30, by = 1, FUN = Metrics::rmse(val1, val2)))