나이 열을 jm으로 정렬 한 후 새 열을 추가하고 나이가 인접한 행의 나이를 찾아서 같은 시간에 반환되지 않은 경우 1. 순환을 시도하고 느린 자신을 느껴보십시오. 더 나은 방법을 요청하십시오. 감사합니다. 당신이 아주 많이!
dt = Open ( "$ SAMPLE_DATA / Big Class.jmp");
새 열 ( "new", 숫자, 연속, 너비 (8));
dt [1, "age"] = 1;
for (i = 1, i = Col Number (1), i ++,
만약 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 />