我如何编写下面的功能更新?而不是拼写出每一列(0, 1, 2, 3 ...),因为它们有很多。
table: update pma0: prev 5 mavg fa_0, pma1: prev 5 mavg fa_1, pma2: prev 5 mavg fa_2, pma3: prev 5 mavg fa_3, pma4: prev 5 mavg fa_4 by sym from table
这对我来说特别困难,因为“mavg”并不是我称之为 mavg[a;b] 的真正“函数”,并且在它之前还有另一个函数“prev”。
我什至想不出更简单的问题版本。如果我只是想
table: update pma0: prev fa_0, pma1: prev fa_1, pma2: prev fa_2, pma3: prev fa_3, pma4: prev fa_4 by sym from table
下面显然不起作用。它为 newCols 和 origCols 提供了相同的值。
ttt2: ![table; (); enlist[`ric]!enlist[`ric]; newCols!({prev; x} each origCols)]
您可以使用类似于以下的功能形式
table: ![table;();(1#`sym)!1#`sym;(`$"pma",/:string til 5)!{(prev;(mavg;5;x))} each `$"fa_",/:string til 5];
其中(`$"pma",/:string til 5)
创建列表列名称。并{(prev;(mavg;5;x))} each `$"fa_",/:string til 5
以函数形式创建相应列值的列表
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句