cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Image to Table JMP extension imports single or batch images as data tables. Useful to extract curves from pictures or convert image data to curve data to use in analyses like Functional Data Explorer. Download and install the extension.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar

How to ignore in case of no outliers in missing outliers jsl?

I have a explore outlier jsl that runs on a big database. Sometimes the explore outlier doesn't find any outlier (because the data is quite tightly distributed) and the jsl gives an error. How do I add a ignore or try statement in the following script to skip the explore outlier code?

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);
	);
1 REPLY 1
txnelson
Super User

Re: How to ignore in case of no outliers in missing outliers jsl?

I believe that you can bypass the processing by simply checking if zero outliers have been found

For( c = 1, c <= nCols, c++,
	If( (eoRep[Number Col Box( 3 )] << get)[c] != 0, 
	// Select this column (described by a row)
		CMD = Expr(
			table << setSelectedRows( {colTBD} )
		);
		Substitute Into( 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 );
	)
);
Jim

Recommended Articles