cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Instantly extract effect sizes, F-ratios, and FDR-adjusted p-values from your models with the Calculate Effects Sizes extension, available now in the JMP Marketplace!
  • New to JMP? Join us Sept. 23-24 for the Early User Edition of Discovery Summit, tailor-made for new users. Register now for free!
  • Your voice matters! Tell us how you prefer to receive JMP updates, so we can tailor our communication to your needs. Take short survey.

Discussions

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

creating a journal in a new window with hlist and vlist boxes with a for loop

Hi. I would like to create a script that creates a new journal with a variable amount of oneway graphs arranged in the way I want.  I have tried multipe ways and cannot figure it out.  Can someone help me?  Thanks!

 

 

Trying to write something like this:

Hlist_MSG1 = "HList Box(( oneway_List[";
Hlist_MSG2 = "] << Report) << Clone Box, ( noz_stat[";
Hlist_MSG3 = "] <<Report)[";
Hlist_MSG4 = "] << Clone Box)";

nw = New Window(name, <<Journal,

vlb = V List Box(


for(i=1, i<=n_Copies, i++,

evallist({Hlist_MSG1,
i;
Hlist_MSG2;
i;
Hlist_MSG3;
1;
Hlist_MSG4;

if(i<n_Copies,", ", " ")}));

));

 

 

 

Or like this:

 

HLIST_MSG_LST[i] = "HList Box(( oneway_List[" || char(i) || "] << Report) << Clone Box, ( noz_stat[" || char(i) || "] <<Report)[1] << Clone Box)");


subs_list = {};

for(i=1, i<=n_Copies, i++, subs_list [i] = "num("||char(i)||")");

num_list = {};

for(i=1, i<=n_Copies, i++, num_list [i] = i);

 



nw = New Window(name, <<Journal,

vlb = V List Box(


for(i=1, i<=n_Copies, i++,
eval(parse(substitute(HLIST_MSG_LST[i],subs_list[i],num_list[i])));

if(i<n_Copies,", ", " "));

));


1 ACCEPTED SOLUTION

Accepted Solutions
txnelson
Super User

Re: creating a journal in a new window with hlist and vlist boxes with a for loop

Here is a methodology that I have found to be much easier to build outputs with.  I believe it goes after what you are trying to do, but it is simplert to work with, and easier to follow.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );

// Create some structures to hold the results
mainBox = V List Box();
theHBox = H List Box();

// Get the column names for the analysis
colList = dt << Get Column Names( continuous );

// Loop across the columns and generate the analyis, placing
// 4 analyses into an H List Box(), and then when all 4 are
// in the H List Box(), add it to the main V List Box();
For( i = 1, i <= 25, i++,
	theHBox << Append( oneway( y( colList[i] ), x( :Site ) ) );
	If( Mod( i, 4 ) == 0 | i == 25,
		mainBox << Append( theHBox );
		theHBox = H List Box();
	);
);

// Now create the journal to hold all of the results
nw = New Window( "Results", <<journal, finalBox = H List Box() );

// Add the accumulated analyses to the journal
finalBox << Append( mainBox );
Jim

View solution in original post

3 REPLIES 3
txnelson
Super User

Re: creating a journal in a new window with hlist and vlist boxes with a for loop

Here is a methodology that I have found to be much easier to build outputs with.  I believe it goes after what you are trying to do, but it is simplert to work with, and easier to follow.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );

// Create some structures to hold the results
mainBox = V List Box();
theHBox = H List Box();

// Get the column names for the analysis
colList = dt << Get Column Names( continuous );

// Loop across the columns and generate the analyis, placing
// 4 analyses into an H List Box(), and then when all 4 are
// in the H List Box(), add it to the main V List Box();
For( i = 1, i <= 25, i++,
	theHBox << Append( oneway( y( colList[i] ), x( :Site ) ) );
	If( Mod( i, 4 ) == 0 | i == 25,
		mainBox << Append( theHBox );
		theHBox = H List Box();
	);
);

// Now create the journal to hold all of the results
nw = New Window( "Results", <<journal, finalBox = H List Box() );

// Add the accumulated analyses to the journal
finalBox << Append( mainBox );
Jim
tova
Level III

Re: creating a journal in a new window with hlist and vlist boxes with a for loop

Thanks Jim,  I won't be able to try and implement this until next week, so I will update then.  But this looks like it should help me.

tova
Level III

Re: creating a journal in a new window with hlist and vlist boxes with a for loop

never mind, it was easy to implement, so I don't need to wait until next week to see if it works.

 

It works.

 

Thank you!!

Recommended Articles