데이터에서 특정 백분위 수 행 가져 오기안녕,
데이터에서 행 값의 상위 25 번째 백분위 수를 얻는 방법을 알아 내려고합니다. 기본적으로 상위 25 번째 백분위 수 값으로 원래 데이터의 하위 집합입니다.
이것을 시도했다;
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
top_25th_perc = dt << Summary(
Group( :sex),
Quantile( :height, .25 ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 1 ),
output table name( "top_25th_perc" )
);</CODE><CODE class=" language-jsl">
아래 표를 생성합니다.

내가 필요한 것은 두 그룹의 25 번째 백분위 수 행만있는 dt의 하위 집합입니다.
그렇게하는 방법?
다음 질문은 어떻게 그 25 번째 백분위 수를 샘플링하고 그 분포에서 샘플을 얻을 수 있다고 말할 수 있습니까? 다시 내가 필요한 요약 데이터 테이블.
해석학데이터 테이블스크립팅Re : 데이터에서 특정 백분위 수 행 가져 오기내 솔루션이 약간 다를 수 있습니다."상위"25 번째 백분위 수를 원한다고 표시 한 다음 25 번째 백분위 수를 기준으로 계산하여 상위 75 번째를 결정했습니다.아래 코드는 데이터의 상위 25 번째 백분위 수에있는 남성 및 여성의 행을 선택합니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << select where( :height >= Col Quantile( :height, .75, :sex ) );
dtTop = dt << subset( selected rows( 1 ), selected columns( 0 ) );
Re : 데이터에서 특정 백분위 수 행 가져 오기TXnelson 감사합니다!
최종 데이터 세트를 이동하기 전에 25 번째 백분위 수 데이터를 샘플링하는 방법이 있습니까?
Re : 데이터에서 특정 백분위 수 행 가져 오기상위 25 %에서 샘플링하는 방법은 다음과 같습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
top25pRows = dt << get rows where( :NPN1 >= Col Quantile( :NPN1, .75, :site ) );
dt << clear selected row states;
// create a 5% of the top 25 percentile data
// Select 5% of the top 25 percentile rows
For(i=1,i<=nrows(top25pRows),i++,
If(random uniform(0,1)<=.05,rowstate(top25pRows[i])=selected state(1));
);
// Create the output data table
dtTop = dt << subset( selected rows( 1 ), selected columns( 0 ) );