回复:FOR()循环脚本不起作用这是一个简单的脚本,它创建一个:Time列,然后生成我认为您指定的应为:Run列。 我使用3种不同的方法生成:Run列。 您可以在《脚本指南》中阅读所有这些内容
Help ==> JMP文档库...………。脚本指南
Names Default To Here( 1 );
dt = New Table( "Example",
add rows( 20 ),
New Column( "Time", formula( Random Uniform( .5, 1.5 ) ) )
);
dt << New Column( "Run1",
"numeric",
"ordinal",
formula( If( :Time < 1, Row(), Row() + 1 ) )
);
dt << New Column( "Run2", numeric, ordinal );
For( i = 1, i <= N Rows( dt ), i++,
If( :Time[i] < 1,
:Run2[i] = i,
:Run2[i] = i + 1
)
);
dt << New Column( "Run3", numeric, ordinal );
For Each Row(
If( :Time < 1,
:Run3 = Row(),
:Run3 = Row() + 1
)
);
FOR()循环脚本不起作用我想在检查条件(时间值)或一组固定的行后将顺序值写入新列。
贝洛JMP脚本我的脚本在下面创建了一个空值列。
Names Default To Here(1);
ROW = N ROW();
Run= New Column("Run", "numeric","ordinal");
n=1;
For(i = 1,
i<=ROW, i++,
If(:Time<1,i,i+1)
)
来自社区的任何指导将不胜感激。
脚本编写回复:FOR()循环脚本不起作用@txnelson
感谢您的及时指导。脚本部分起作用。我的时间是按顺序排列的,逻辑是为每一行分配一个新的数字。
为简单起见,我如何创建一列,该列对最多1秒或10行的行进行计数,并分配一个数字,并重复此过程直到表结束。
感谢您的帮助!
回复:FOR()循环脚本不起作用我相信以下示例可以满足您的要求
Names Default To Here( 1 );
dt = New Table( "Example",
add rows( 50 ),
New Column( "Time",
formula( Today() + Random Uniform( 10, 20. ) ),
Format( "h:m:s", 11, 2 )
)
);
dt << run formulas;
dt:time << delete formula;
dt << sort( by( :time ), order( ascending ), replace table( 1 ) );
dt << New Column( "Sequence",
formula(
If( Row() == 1,
start = :time;
count = 0;
);
If( count >= 10 | :Time - Start > 1,
start = :time;
count = 0;
);
count = count + 1;
)
);