通过Var识别最低的5个连续行假设我有一个 RunNumber (1,2,3...) 和 Result (数字/连续)表。
如何创建一个公式列来标识(例如使用“1”)每个 RunNumber 具有最低平均值的 5 个数字的序列,而其他地方则标识为“0”?
数据混合和清理回复:通过Var识别最低的5个连续行虽然可以将完成所需任务所需的所有内容放入列公式中,但使用在开放代码中运行的小脚本要简单得多。这是一个例子
names default to here(1);
dt =
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
// create a column to represent the original order of the data
dt << new column("Orig Row", set each value(row()));
// Find 5 lowest values of NPN1 for each site
dt << sort( by(:NPN1), order(descending), replace table(1));
dt << new column("minimum NPN1", set each value(
if(col cumulative sum(1,:site) <= 5, 1, 0)
));
// Set the table back to the original order
dt << sort( by(:Orig Row), order(ascending), replace table(1));
dt << delete columns(Orig Row);