mlastNot
语法
mlastNot(X, window, [k=NULL], [minPeriods=1])
参数
X 是除 DECIMAL 类型外的向量、矩阵或表,也可以是索引序列或索引矩阵,表示用于计算的数据。
window 是一个整型或 DURATION 类型的标量,表示滑动窗口的长度。数值范围为[2,102400]。
k 可选参数,是一个数值或字符串类型的标量,表示用于匹配的数据。
minPeriods 可选参数,是一个不超过 window值的正整数,表示滑动窗口中最少包含的观测值数据,默认为 window值。
详情
返回与输入数据同样数据类型、数据维度的计算结果。
若 X 是向量:
-
如果没有指定 k,计算给定长度(以元素个数计算)的滑动窗口内 X 中第一个不为 NULL 的元素。
-
如果指定 k,计算给定长度(以元素个数计算)的滑动窗口内 X 中第一个不为 k 且不为 NULL 的元素。
若 X 是矩阵或表,则在每列内进行上述计算。
例子
例 1
mlastNot(NULL 2 NULL 4 5, 2)
//output:[,2,2,4,5]
例 2
mlastNot(matrix(1..5,2..6,3..7), 2, 4, 2)
返回矩阵:
col1 | col2 | col3 |
---|---|---|
2 | 3 | 3 |
3 | 3 | 5 |
3 | 5 | 6 |
5 | 6 | 7 |
例 3
x=table(`s1`s2``s4`s5 as col1, `s1``s3``s5 as col2)
mlastNot(x, 2)
返回表格:
col1 | col2 |
---|---|
s2 | s1 |
s2 | s3 |
s4 | s3 |
s5 | s5 |
例 4
T = [2022.01.01, 2022.01.02, 2022.01.03, 2022.01.06, 2022.01.07, 2022.01.08, 2022.01.10, 2022.01.11]
X = 1..8
X1 = indexedSeries(T, X)
mlastNot(X1, 3, 1, 1)
注: 该例中由于 X 的索引值为时间类型,参数 window 将自动转为 DURATION 类型,此时参数
minPeriods 必须是 1。
返回表格:
lable | col1 |
---|---|
2022.01.01 | |
2022.01.02 | 2 |
2022.01.03 | 2 |
2022.01.06 | 4 |
2022.01.07 | 4 |
2022.01.08 | 4 |
2022.01.10 | 6 |
2022.01.11 | 7 |