【发布时间】:2017-10-12 08:54:23
【问题描述】:
我曾经见过这个函数,但现在不记得它的名字了。该函数执行输入向量/矩阵的滚动切片,并输出一个高一维的矩阵。下面是函数的作用:
rolling_slice <- function(v,window){
rows = length(v)-window+1
m <- matrix(0,rows,window)
for(i in 1:rows){m[i,] <- v[i:(i+window-1)]}
return(m)
}
带有向量输入的示例输出如下所示:
> v <- 1:10
> rolling_slice(v,3)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 2 3 4
[3,] 3 4 5
[4,] 4 5 6
[5,] 5 6 7
[6,] 6 7 8
[7,] 7 8 9
[8,] 8 9 10
尝试找到它的原因是我想加快 R 中的滚动窗口操作,我希望这个函数可以通过预先索引输入数据来提供帮助。
【问题讨论】:
标签: r zoo sliding-window