使用分位數選擇90%的中間範圍我有一個標記為Height的數值連續列,其中包含數百個高度值。 我想通過僅使用中間90%的數據范圍來排除異常值。 我試圖通過選擇低於5%的分位數和高於95%的分位數的所有行,然後排除它們來在JSL中編寫腳本。 但是我無法使用下面的腳本來使其工作。 我將不勝感激。
RowsBelow5PCTL = dt << get rows where( :HEIGHT < Col Quantile( :HEIGHT, .05 ) );
RowsAbove95PCTL = dt << get rows where( :HEIGHT > Col Quantile( :HEIGHT, .95 ) );
腳本編寫回复:使用分位數選擇90%的中間範圍我相信這會給您您想要的;
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << select where(
:HEIGHT < Col Quantile( :Height, .05 ) |
:HEIGHT > Col Quantile( :Height, .95 )
);
dt << exclude;
或者,如果您需要上下行數矩陣,則可以使用
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
RowsBelow5PCTL = dt << get rows where( :HEIGHT < Col Quantile( :HEIGHT, .05 ) );
dt << select rows(RowsBelow5PCTL);
RowsAbove95PCTL = dt << get rows where( :HEIGHT > Col Quantile( :HEIGHT, .95 ) );
dt << select rows(RowsAbove95PCTL);
dt << exclude;
回复:使用分位數選擇90%的中間範圍非常感謝你。