使用分位數選擇中間 90% 的範圍我有一個標記為高度的數字連續列,其中有數百個高度值。 我想透過僅使用中間 90% 範圍的資料來排除異常值。 我嘗試在 JSL 中編寫腳本,選擇低於 5% 分位數和高於 95% 分位數的所有行,然後排除它們。 但我無法透過使用下面的腳本使其工作。 我將不勝感激任何指導。
RowsBelow5PCTL = dt << get rows where( :HEIGHT < Col Quantile( :HEIGHT, .05 ) );
RowsAbove95PCTL = dt << get rows where( :HEIGHT > Col Quantile( :HEIGHT, .95 ) );
自動化和腳本編寫資料混合與清理回覆:使用分位數選擇中間 90% 範圍非常感謝。回覆:使用分位數選擇中間 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;