557067_ko-KR
로컬 데이터 필터 변경 사항에 응답하는 요약 통계 그래프 참조선 추가
데이터 평균에 대한 참조선이 있는 런 차트를 생성합니다. 지역 데이터 필터를 추가하고 범주가 선택됨에 따라 평균이 변경되도록 합니다. 평균 명예 제외 행이 있습니다.
재료:샘플 데이터 테이블: 빅 클래스
어려움: 딱딱한
단계:- 다음으로 스크립트 시작 이름 기본값은 Here(1)입니다.
- 열기 빅 클래스 샘플 데이터 테이블 및 참조 제공 dt .
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
- 일부 행을 무작위로 제외합니다.
dt << select randomly(sampling rate(0.2)) << exclude << clear select;
- Graph Builder를 사용하여 그래프를 만들고 참조 제공 GB .
gb = Graph Builder(
Size( 621, 472 ),
Variables( Y( :height ) ),
Elements( Line( Y, Legend( 3 ), Row order( 1 ) ) ),
);
- 로컬 데이터 필터를 추가하고 참조 제공 DF .
df = gb << local data filter(add filter(columns(:sex)));
- 그만큼 필터 변경 핸들러 만들기(f) 데이터 필터 개체에 대한 메시지는 사용자 함수 인수를 평가합니다. 에프 데이터 필터가 변경될 때마다. 참조선이 있는 경우 제거하는 함수를 만들고 로컬 데이터 필터에 의해 선택되고 제외되지 않은 행에 대한 응답의 평균을 찾은 다음 해당 행에 대한 응답의 평균에서 Y축에 참조선을 추가합니다. 행. 그런 다음 데이터 필터에 메시지를 보냅니다.
//user function to be called when filter is changed
f = function({a}, //a is not used
//remove the y axis reference line, if it exists
try(report(gb)[axisbox(2)] << remove ref line(meanHeight));
//get the where clause from the data filter
//it will look like Select Where(...)
txt = df << get where clause;
//get the argument, if it exists
arg = if(length(txt), arg(parse(txt), 1), txt);
//get row numbers of filtered rows
aaDf = if(length(txt),
associative array(dt << get rows where(arg)),
index(1, nrow(dt))
);
//find row numbers of non-excluded rows
vecEx = dt << select excluded
<< invert row selection
<< get selected rows
<< clear select;
aaEx = associative array(vecEx);
//get row numbers of both
aaEx << intersect(aaDf);
lstAll = aaEx << get keys;
//find the mean of filtered/non-excluded response
//if nothing is filtered, find the mean of non-excluded only
meanHeight = if(length(txt),
mean(column(dt, "height")[lstAll]),
mean(column(dt, "height")[aaEx << get keys])
);
//add reference line
report(gb)[axisbox(2)] << add ref line(meanHeight, "Solid", 19, 2);
);
rs = df << make filter change handler(f);
성공을 위한 힌트
- 그래프 빌더 및 데이터 필터 개체를 대화식으로 만든 다음 스크립트 저장 > 스크립트 창에 사용하거나 향상된 로그를 사용하여 해당 스크립트를 복사합니다.
- 스크립팅 인덱스를 사용하여 데이터 필터와 같은 개체가 응답할 수 있는 메시지를 이해하십시오. 예제를 실행하여 작동 방식을 확인하십시오. 예를 들어, 사용자 함수 f에 대한 인수 a에서 다시 조정되는 것은 무엇입니까?
- 작게 시작하세요. 이 예는 제외된 행을 고려하지 않고 작성되었습니다. 제외된 행이 있는 테이블에서 스크립트를 만든 후에야 스크립트를 시도했습니다. 제외된 행이 있는 테이블의 특수한 경우가 이후에 추가되었습니다. 필터에서 선택되지 않은 다른 특별한 경우도 이후에 추가되었습니다.
자동화 및 스크립팅메인 코스
Comments
There are no comments yet