如何快速获取一个向量中每个元素在长度为windows的滑动窗口中排序后的位置?

在DolphinDB中,有没有一个函数,可以快速获取一个向量中每个元素在长度为windows的滑动窗口中排序后的位置?
如向量为:

a = [2,4,5,7,7,5,4,5]

我指定的滑动窗口为3,我需要返回一个b向量的信息为:

b = [,,2,2,1,0,0,1]
请先 登录 后评论

1 个回答

Johhny

DolphinDB中的mrank函数可以解决上述问题,而且mrank函数的执行对象也可以是矩阵,具体例子如下:

a = [2,4,5,7,7,5,4,5]
mrank(a,1,3)//1表示升序,3表示滑动窗口的大小3

返回:

attachments-2021-05-UUdk1ujU60ac959b637e8.png

m=matrix(1 2 5 3 4, 5 4 1 2 3)
mrank(m, 1, 3)

返回:

attachments-2021-05-NOjCctFb60ac95a4ce4ff.png

请先 登录 后评论