首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在表上递归运行函数

在表上递归运行函数
EN

Stack Overflow用户
提问于 2021-01-24 01:48:29
回答 1查看 230关注 0票数 1

对函数fx的每次左调用-基于表t和整数pq中的一些数据,将一个新列连接到x

我在下面的pq值上展示了所需的迭代,但不知道如何使用KDB+迭代器正确地进行迭代。

示例数据和解决方案:

代码语言:javascript
复制
x:([]date:(2013.07.01+til 10);ords:til 10); /Some random table with date (key column)
t:p:([]date:(2013.07.01+1000#til 200);px:1000?10e); /Some random table.
fx:{[x;t;p;q]
    /Do something with t;p;q and left-join output column to x on date;
    t:([]date:(2013.07.01+til 10);ords:10?10000);
    col_names:(`date;`$""sv(string(`P);string(p);string(`Q);string(q)));
    t: x lj 1!col_names xcol t;
    :t
    };

/Run simulation for p=1 to 2 and q=3 to 4 as follows:
fx[ fx[ fx[ fx[x;t;1;3]; t;2;3]; t;1;4]; t;2;4] /How to do this iteration properly?

最后一条语句在pq上分别有两个for循环,从1到2和3到4。我确信有一个更好的方法来实现这个使用扫描/结束,但我无法弄清楚它。有人能帮忙吗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-24 10:13:19

我们可以将t作为投影传递,因为它在每次迭代中保持不变,然后对其他变量使用扫描迭代。

代码语言:javascript
复制
fx[;t;;]/[x;1 2 1 2;3 3 4 4]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65866422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档