1

我正在尝试rollapply从 zoo 包中使用maxdrawdowntseries 包中的功能:

library(zoo)
library(tseries)
x <- c(1,2,4,6,7,10,8,6,5,4,6,7,8)
y <- zoo(x)
z <- rollapply(y,3,maxdrawdown,fill=NA,align="right")

但是我收到此错误消息:

Error in zoo(rval, index(x)[i]) : 
 “x” : attempt to define invalid zoo object

这是否意味着我不能rollapply在函数上使用maxdrawdown?有没有替代解决方案来解决这个问题?

4

1 回答 1

3

maxdrawdown返回一个列表,但我们只想要该maxdrawdown列表的组件,所以试试这个:

rollapplyr(y, 3, function(x) maxdrawdown(x)$maxdrawdown, fill = NA)
于 2012-08-13T22:00:06.900 回答