运行重复值计数 JSL 脚本?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我想编写一列中重复值的运行计数或累积总和的脚本。
例如,首次出现应等于 1,指定值的计数最大值应等于列内值的累积和。
| 颜色 | 计数颜色 |
|---|
| 红色的 | 1 |
| 红色的 | 2 |
| 蓝色的 | 1 |
| 黄色的 | 1 |
| 红色的 | 3 |
理想情况下,:count_color 的输出不需要按 :color 对数据表进行排序
谢谢。
回复:运行重复值计数 JSL 脚本?我认为创建一个新列并为其分配下面的公式可以满足您的要求:
Col Cumulative Sum( 1, :Color )
回复:运行重复值计数 JSL 脚本?编辑:可能想忽略这一点。 这给出了稍后可以在脚本中使用的每个项目的总数,但实际上并没有解决OP的真正问题。
执行此操作的一种更迂回的方法是使用摘要平台,然后将结果表读入您想要的任何脚本对象中。 我在这里使用了关联数组。
// create temporary summary table
new = Data Table( "Untitled 8" ) << Summary( Group( :color ) );
// make sure "Untitled 8" is the correct title of the original data, containing a column named "color"
<BR />// transfer result to associative array
result = Associative Array(); // empty A.A.
For Each Row(new, result << Insert Item(:color, :N Rows)); // populate A.A.
Show(result); // display A.A. to log
Close(new, No Save); // close temporary summary table
回复:运行重复值计数 JSL 脚本?你好@Craige_Hales ,
我正在对所有不为零的数字进行类似的计数,否则它将更改为 1。
如果(:数字!= 0,
名称 Expr( Eval( Eval Expr( Col Sum( Row() <= Expr( Row() ), :Number ) ) ) ),
1
);
这似乎不起作用。 我得到非零数字的黑色空格。 你能帮我解决这个问题吗? 谢谢。
回复:运行重复值计数 JSL 脚本?粘贴公式多发性硬化症进入公式编辑器或将公式包装在名称表达式(这里有更长的解释
New Column( "count",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Name Expr( Eval( Eval Expr( Col Sum( Row() <= Expr( Row() ), :color ) ) ) ) )
),
您帮助发现了 JMP 中的一个错误;当使用表的 <回复:运行重复值计数 JSL 脚本?
在公式下使用 Eval 命令会生成输出,但所有值 = 0
也许我误解了。 我的列公式如下。
// 运行计数
新列(“count_color”,
数字,
连续的,
公式(
Eval(Eval Expr(Col Sum(Row() <= Expr(Row()), :color)))
)
);
回复:运行重复值计数 JSL 脚本?在列公式中(或在 For Each Row() 循环中)尝试此表达式;
评估(求值表达式(苏姆山口(排() <=表达式(排()) , :颜色))) ;