问题描述
我每天都有一点财务数据。类似于以下内容:
head(df)
tibble [2,871 x 2] (S3: tbl_df/tbl/data.frame)
Price | Volatility
15.4 17.5
14.7 17.8
14.4 17.7
14.9 17.8
... ...
zscore <- function(x) {
z <- (x-mean(x))/sd(x)
return(z)
}
我想添加两列,一列用于计算每一行的z得分,另一列用于计算255个工作日(即大约1个日历年)内的滚动z得分
df %>%
mutate(full_zscore = zscore(Volatility),roll_zscore = rollapply(Volatility,255,FUN = zscore,align = "right"))
Error: Invalid index: out of bounds
在进一步调查中,我注意到rollapply函数返回了matrix
,因此为什么我会收到错误消息。
有人可以帮我理解为什么rollapply(df$Volatility,alighn = "right")
在新的变量列上返回矩阵而不是滚动的z分数吗?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)