movingWindowIndex

语法

movingWindowIndex(X, window, [fixed=false])

参数

X 是一个向量。

window 必须是不小于2的正整数,表示窗口长度。

fixed 是一个布尔值。表示输出的数组向量每行的长度是否固定为 window。默认值为 false。设置为 true 时 表示所有窗口的长度相同,前 (window - 1)个窗口内缺少的索引用 NULL 填充。

详情

返回一个数组向量,表示 X 在每一个窗口内的元素所对应的索引。

首发版本:2.00.4

例子

S = 1 2 3 4 5 6 7 8 9 0;
m = movingWindowIndex(X=S,window=3);
m;
# output
[[0],[0,1],[0,1,2],[1,2,3],[2,3,4],[3,4,5],[4,5,6],[5,6,7],[6,7,8],[7,8,9]]

mi = movingWindowIndex(X=S,window=3,fixed=true);
mi;
# output
[[,,0],[,0,1],[0,1,2],[1,2,3],[2,3,4],[3,4,5],[4,5,6],[5,6,7],[6,7,8],[7,8,9]]

// 获取每个窗口第一个元素的值
S[m[0]]
# output
[1,1,1,2,3,4,5,6,7,8]

S[mi[0]]
# output
[,,1,2,3,4,5,6,7,8]