【发布时间】:2015-08-21 02:19:08
【问题描述】:
假设我想将 rollapply 与返回值超过值的函数一起使用。像这样:
library(quantmod)
getSymbols("YHOO")
openYHOO <- YHOO[1:10,1]
rollapply(openYHOO, width = 2, range)
我得到一个错误。 我还尝试在函数内合并结果:
rollapply(openYHOO, width = 2, function(x) {
cbind(range(x))
})
rollapply(openYHOO, width = 2, function(x) {
merge(range(x))
})
更多错误。
我可以这样做:
cbind(
rollapply(openYHOO, width = 2, function(x) {
range(x)[1]
}),
rollapply(openYHOO, width = 2, function(x) {
range(x)[2]
})
)
...它的工作原理。
但是,如果我想调用 fivenum 或在 fun 参数中使用更复杂且计算量更大的东西怎么办?我是否必须为要返回的每个值调用 rollapply,一遍又一遍地生成相同的对象?
我是否遗漏了什么,还是应该放弃 rollapply 并滚动我自己的滚动窗口功能?
你能解释一下为什么这个rollapply(openYHOO, width = 2, range) 不起作用吗?
【问题讨论】: