回复: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;
)
);