age列でjmをソートした後、新しい列を追加し、上下に隣接する行の年齢が同時に返されないことを確認します1.自分自身をサイクルさせてゆっくりとしましょう。どうぞよろしくお願いします。
dt = Open( "$ SAMPLE_DATA / Big Class.jmp");
新しい列( "new"、数値、連続、幅(8))。
dt [1、"age"] = 1;
(i = 1、i <= Col Number(1)、i ++、
if(dt [i、"age"] == dt [i-1、"age"]、dt [i、"new"] = 0、dt [i、"new"] = 1);
;

貼り付けたスクリプトは、スクリーンショットのスクリプトと一致しません。
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Sort( By( :age ), Order( Ascending ), Replace Table );
dt << New Column("new",Numeric,Continuous,Width(8));
t0 = hptime();
dt[1,"new"]=1;
for(i=2,i<=Col Number(1),i++,
if(dt[i,"age"]==dt[i-1,"age"],dt[i,"new"]=0,dt[i,"new"]=1);
);
t1 = hptime();
dt << New Column("new2",Numeric,Continuous,Width(8));
t2 = hptime();
column(dt, "new2") << set each value(
If(row() == 1, 1,
:age == Lag(:age,1), 0,
//else
1)
);
t3 = hptime();
show(t3-t2, t1-t0); <BR /><BR />//The results will be different each time, but the second method takes less than 50% of the time <BR />//compared to the for loop.<BR />//t3 - t2 = 257; t1 - t0 = 679;<BR /><BR /><BR />