R-如何在来自其他包(如tseries的maxdrawdown)的函数上使用rollapply?

R-如何在来自其他包(如tseries的maxdrawdown)的函数上使用rollapply?,r,zoo,R,Zoo,我正在尝试使用tseries软件包中的函数maxdrawdown使用zoo软件包中的rollapply: 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") 这是否意味着我不能在函数maxdrawdown上使用rollply?有其他解决方案吗?maxdrawdown返回

我正在尝试使用tseries软件包中的函数
maxdrawdown
使用zoo软件包中的
rollapply

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")

这是否意味着我不能在函数
maxdrawdown
上使用
rollply
?有其他解决方案吗?

maxdrawdown
返回一个列表,但我们只需要该列表的
maxdrawdown
组件,因此请尝试以下操作:

rollapplyr(y, 3, function(x) maxdrawdown(x)$maxdrawdown, fill = NA)
rollapplyr(y, 3, function(x) maxdrawdown(x)$maxdrawdown, fill = NA)