특정 셀의 값이 1 시그마,> 1 시그마이지만 <2 시그마,> 2 시그마,
시그마 및> 3 시그마 내에 있는지 여부에 따라 열의 셀에 색상을 지정해야합니다. 시그마는 표준입니다 바로 열의 편차.
이 스크립트는 완전하지 않거나 효율적이지 않지만 아이디어를 제공합니다.
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
mu = Col Mean( :weight );
sd = Col Std Dev( :weight );
lo = mu - 3*sd;
hi = mu + 3*sd;
rows = dt << Get Rows Where( lo <= :weight <= hi );
:weight << Color Cells( "Red", rows );
lo = mu - 2*sd;
hi = mu + 2*sd;
rows = dt << Get Rows Where( lo <= :weight <= hi );
:weight << Color Cells( "Yellow", rows );
lo = mu - sd;
hi = mu + sd;
rows = dt << Get Rows Where( lo <= :weight <= hi );
:weight << Color Cells( "Green", rows );
행 수가 많은 경우 부울 테스트 효율성을 향상시킬 수 있습니다.
안녕, 마크, 나는이 포스트에서 또 하나의 관련 질문이있다. 내 데이터 프레임에는 열이 10 개가 넘기 때문에 제공 한 코드를 편집하고 붙여 넣기가 쉽지 않습니다. for 루프를 직접 만들려고했지만 작동하지 않습니다. 이것에 대한 조언을 제공해 주시겠습니까? 감사합니다!
col = dt << 열 이름 가져 오기 (문자열);
nc = 니템 (col);
for (i = 2, i <= nc, i ++,
mu = Col 평균 (: 이름 (col [i]));
sd = Col Std Dev (: 이름 (col [i]));
lo = mu-3 * sd;
hi = mu + 3 * sd;
rows = dt << 행 가져 오기 Where (lo <= : Name (col [i]) <= hi);
: Name (col [i]) << 컬러 셀 ( "빨간색", 행);
rows = dt << 행 가져 오기 Where (: Name (col [i]) hi);
: Name (col [i]) << 컬러 셀 ( "보라색", 행);
lo = mu-2 * sd;
hi = mu + 2 * sd;
rows = dt << 행 가져 오기 Where (lo <= : Name (col [i]) <= hi);
: Name (col [i]) << 컬러 셀 ( "노란색", 행);
lo = mu-sd;
hi = mu + sd;
rows = dt << 행 가져 오기 Where (lo <= : Name (col [i]) <= hi);
: Name (col [i]) << 컬러 셀 ( "녹색", 행);
);