Subscribe Bookmark RSS Feed

JSL script to do Annova analysis

akash_nigam_gma

Community Trekker

Joined:

Jan 15, 2015

Hi All,

I have a big data table containing measured data for several parameters (100+) grouped together for experiments. I want to do Annova test on the data to identify which Parameter shows variation compared to reference data. In other words, for which Parameters F-ratio is highest.

 

I want to write a JMP script to automate Annova testing on all the parameters and generate a table of Parameters with F-ratio in it. This I can arrange in descending order and plot the result for top (say 20) parameters which show variations. It will save my time to look at only parameters which respond to experiments.

 

In JMP I can plot the Oneway chart but cannot find the script for Annova testing. In GUI format I can all this.

Can someone please help me with the template code ? I have attached a template datatable.

 

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
ian_jmp

Staff

Joined:

Jun 23, 2011

Solution

I would take a serious look at the Response Screening platform.

 

But, if you want to do it this way, this should get you started:

NamesDefaultToHere(1);

// Example table
dt = DataTable("TestDataforAnnova.jmp");

// Any table referenced as 'dt'
cols = dt << getColumnNames("String");
// Assume first column is the treatment, and all other columns are responses
treat = cols[1];
RemoveFrom(cols, 1);
ow = dt << Oneway(
				Y( Eval(cols) ),
				X( Eval(treat) ),
				Means( 1 ),
				Box Plots( 0 ),
				Mean Diamonds( 1 )
			);
owFirstRep = Report(ow[1]);
// Do 'Show Tree Structure' in the report to identify which table is needed
dt2 = owFirstRep[TableBox(2)] << makeCombinedDataTable;
dt2 << setName((dt << getName)|| " ANOVA");
// Manipulate/simplify 'dt2' to taste . .  

 

2 REPLIES
ian_jmp

Staff

Joined:

Jun 23, 2011

Solution

I would take a serious look at the Response Screening platform.

 

But, if you want to do it this way, this should get you started:

NamesDefaultToHere(1);

// Example table
dt = DataTable("TestDataforAnnova.jmp");

// Any table referenced as 'dt'
cols = dt << getColumnNames("String");
// Assume first column is the treatment, and all other columns are responses
treat = cols[1];
RemoveFrom(cols, 1);
ow = dt << Oneway(
				Y( Eval(cols) ),
				X( Eval(treat) ),
				Means( 1 ),
				Box Plots( 0 ),
				Mean Diamonds( 1 )
			);
owFirstRep = Report(ow[1]);
// Do 'Show Tree Structure' in the report to identify which table is needed
dt2 = owFirstRep[TableBox(2)] << makeCombinedDataTable;
dt2 << setName((dt << getName)|| " ANOVA");
// Manipulate/simplify 'dt2' to taste . .  

 

akash_nigam_gma

Community Trekker

Joined:

Jan 15, 2015

Thanks Script works like wonders. 

I will definetly look into RESPONSE SCREENING.

Thanks again!