以tmsum中的第一个例子为例。
tmsum(1 1 3 5 8 15 15 20, 5 2 4 1 2 8 9 10, 3)
// output
[5,7,11,5,2,8,17,10]
为什么元素“5”的窗口中求和计算返回5,不应该是7(2+4+1)吗?有没有图解一下
tmsum
的开窗逻辑?
tmsum
的开窗逻辑,可以参考基于时间的移动函数(tm-functions)(dolphindb.cn)中的图示。
涉及时间序列数据的窗口基于时间单位滑动。在您的示例中,由于
tmsum
的参数 T 为整数类型,因此对应窗口的范围为 (Ti - window, Ti].
第一个元素“1”的窗口为(-2, 1],其中包含值“5”;
第二个元素“1”的窗口为(-2, 1],其中包含值“5”和“2”;
第三个元素“3”的窗口为(0, 3],其中包含值“5”、“2”和“4”;
第四个元素“5”的窗口为(2, 5],其中包含元素“3”和“5”的值,即“4”和“1”;
第四个元素“8”的窗口为(5, 8],其中只包含元素“8”的值,即“2”;
等等……