cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Browse apps to extend the software in the new JMP Marketplace
Choose Language Hide Translation Bar
Yngeinstn
Level IV

From Interpolation to Finding Closets Value

I received some help long ago with trying to interpolate a -1 db Compression which worked flawlessly however the customer has changed their minds on the who interpolation thing. Now they just want the input value closest to the -1 db compression and then using that apply a spec limit to the Pout. I am looking for some assistance in trying to determine this point. Attached is a data table that has the raw data.

 

Grouping would be {"wafer_number", "RowCol", "input"} . There are 36 readings for each input at different compression values. I only need the closest to -1.

 

Thanks in advance

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

Re: From Interpolation to Finding Closets Value

Hi,

 

If you want to do this in the present table, you can add a formula column with the following formula, which compares each row's distance to -1  ( abs ( :compression -  (-1))), which is (abs(:compression + 1)), to the minimum value found in the group.

 

Abs( :Compression + 1 ) == Col Minimum( Abs( :Compression + 1 ), :wafer_number, :RowCol, :input )

Thus, the rows in this column equaling 1 are the rows you want... you could select and subset them, etc.

 

If you want to directly subset without creating a new column, and don't mind using JSL, you could use this:

 

Names Default To Here(1);

dt = current data table();

dtSub = dt << subset(
	selected columns(0), 
	rows(dt << get rows where(Abs( :Compression + 1 ) == Col Minimum( Abs( :Compression + 1 ), :wafer_number, :RowCol, :input )))
);

Cheers,

Brady

 

View solution in original post

2 REPLIES 2

Re: From Interpolation to Finding Closets Value

Hi,

 

If you want to do this in the present table, you can add a formula column with the following formula, which compares each row's distance to -1  ( abs ( :compression -  (-1))), which is (abs(:compression + 1)), to the minimum value found in the group.

 

Abs( :Compression + 1 ) == Col Minimum( Abs( :Compression + 1 ), :wafer_number, :RowCol, :input )

Thus, the rows in this column equaling 1 are the rows you want... you could select and subset them, etc.

 

If you want to directly subset without creating a new column, and don't mind using JSL, you could use this:

 

Names Default To Here(1);

dt = current data table();

dtSub = dt << subset(
	selected columns(0), 
	rows(dt << get rows where(Abs( :Compression + 1 ) == Col Minimum( Abs( :Compression + 1 ), :wafer_number, :RowCol, :input )))
);

Cheers,

Brady

 

Yngeinstn
Level IV

Re: From Interpolation to Finding Closets Value

@brady_brady 

 

Thank you very much for your help. I was sort of on the right track with the :Compression + 1 but didn't consider the absolute value. Works like a charm.