大規模なデータベースで実行される外れ値を探索する jsl があります。 場合によっては、Explore Outlier で異常値が検出されず (データが非常に密に分散されているため)、jsl でエラーが発生することがあります。 次のスクリプトに ignore または try ステートメントを追加して、外れ値の探索コードをスキップするにはどうすればよいですか?
dt1 = Current Data Table();
eo = dt1 << Explore Outliers(
Y( :var1 ),
K Sigma( 2 ),
Robust Fit Outliers,
Where(
:x == 1
),
Invisible
);
eoRep = Report(eo);
table = eoRep[TableBox(1)];
colList = eoRep[StringColBox(1)];
// Loop over these columns . . .
nCols = NItems(colList << get);
for(c=1, c<=nCols, c++,
// Select this column (described by a row)
CMD = Expr( table << setSelectedRows({colTBD}) );
SubstituteInto(CMD, Expr(colTBD), Eval(c));
CMD;
// Update dt2 for this column: Cells that were considered outliers are coloured red
eo << ColorCells(1);
eo << ChangeToMissing(1);
);