여러 열을 반복하고 셀을 바꿉니다.안녕하세요 여러분,
나는 여러 테이블을 반복하고 6 시그마를 "."로 대체하려고합니다. 아래는 큰 클래스를 반복하고 1 시그마보다 큰 가중치와 높이 값을 a로 대체하려는 시도입니다. 그러나 의도 한대로 작동하지 않습니다. 나는 두 개의 현과 혼동하고 있다고 생각한다.
Names Default To Here( 1 );
Clear Globals();
dt = Open("...\SAS\JMP\13\Samples\Data\Big Class.jmp");
mycol = J( N Rows( dt ), 1 );
list_col_names = dt << Get Column Names( String );
For( i = 1, i <= N Items( list_col_names ), i++,
cur_col = (list_col_names[i]);
If( Left( cur_col,1 ) == "ei",
mycol = dt << get as matrix( cur_col );
q25 = Quantile( 0.25, mycol );
q50 = Quantile( 0.50, mycol );
q75 = Quantile( 0.75, mycol );
mycol1 = ((mycol - q50) / ((q75 - q25) / 1.35));
For( r = 1, r <= N Rows( dt ), r++,
If(
mycol1[r] > 1, mycol1[r] = .,
mycol1[r] < -1, mycol1[r] = .
));
);
);
감사!
다시 : 여러 열을 반복하고 셀을 바꿉니다.Thats는 내 문제가 어디에 있었는지, 잘 작동합니다! 도와 줘서 고마워!
다시 : 여러 열을 반복하고 셀을 바꿉니다.내가보고있는 주요 문제는 Hieght 및 Weight 열을 식별하지 못했고 1 시그마 위 또는 아래 행을 찾으면 값이 데이터 테이블에 다시 기록되지 않는다는 것입니다.
이러한 문제를 수정하는 코드를 수정 한 것입니다.
Names Default To Here( 1 );
Clear Globals();
dt = Open("$SAMPLE_DATA\Big Class.jmp");
mycol = J( N Rows( dt ), 1 );
list_col_names = dt << Get Column Names( String );
For( i = 4, i <= N Items( list_col_names ), i++,
cur_col = (list_col_names[i]);
If( Contains(cur_col,"ei") > 0,
mycol = dt << get as matrix( cur_col );
q25 = Quantile( 0.25, mycol );
q50 = Quantile( 0.50, mycol );
q75 = Quantile( 0.75, mycol );
mycol1 = ((mycol - q50) / ((q75 - q25) / 1.35));
For( r = 1, r <= N Rows( dt ), r++,
If(
mycol1[r] > 1, column(dt,cur_col)[r] = .,
mycol1[r] < -1, column(dt,cur_col)[r] = .
));
);
);