Liza,
I would start by making a List in my SessionProc that contained all
my group procedures, let's call that GroupList. Each row/level of
GroupList would have a Procedure to run just one of my groups, and I
would want to link this to the Group Startup Info Parameter in such a
way that it runs one and only one row/level of my GroupList. Here is
how I do that:
First, of course, back in my Experiment Object Properties I would
enable the Group Startup Info Parameter, but you already know
that. (While I am at it, I might limit the numeric entry to 1 and 2,
or even better, change Data Type to Choice with entries only for 1
and 2. (And then, watch out for the empty Choice spot, as I
documented over a year ago at
http://support.pstnet.com/forum/Topic2182-23-1.aspx ).)
With all the preliminaries done, the next step is simple: I would
set the Selection Order of GroupList to Counterbalance, and set Order
By to Group. That's it! The documentation for this exists, but is
of course scant. In short, "Counterbalance" in E-Prime means that it
picks one row from the List based on Subject, Session, or Group (or
other attributes if you use inline script), and then runs only that
row. Very handy for just this purpose.
As it turns out, I started to do a full write-up on the Selection
options a few weeks ago with hopes of posting an article here in the
E-Prime Google Group. I don't have time to do that now, but FWIW
here is a rough preview:
Q: What do the different selection orders mean?
A:
- "Sequential" runs each row/level of the List for Weight number of
times in the order listed.
- "Random" means random without replacement. In effect it expands
each List row by its Weight, then shuffles the list and runs the rows
in the shuffled order. It then repeats this process whenever the
List gets Reset (e.g., all items used). (This all gets done in the
List's RandomOrder object, which acts as a hidden array of indexes
into the List; the List itself does not change.)
- "Random with Replacement" in effect expands each List row by its
Weight, then picks one row at random at a time with replacement and runs that.
- "Counterbalance" uses the Startup Info parameters Subject, Session,
or Group (no other options in E-Studio, but may use others in script;
if you try N/A in ES, it will switch back to Subject) to pick the
numbered row from the List and run just that, once. (I have not
discovered what role Weight may play here.) (Under the hood: It
produces the following script -- Set List.Order = New
SequentialOrder; Set List.Deletion = PickOne(...); List.ResetEveryRun
= True; Set List.TerminateCondition = Samples(1); Set
List.ResetCondition = Samples(1).)
- "Offset" uses Subject, Session, or Group (see Counterbalance above)
to start from that row and run Sequential from there. (I have not
discovered what role Weight may play here.) (Under the hood: It
produces the following script -- It produces the following script --
Set List.Order = OffsetOrder(...); Set List.Deletion = NoDeletion.)
- "Permutation" uses Subject, Session, or Group (see Counterbalance
above) to pick one permutation of the List, then reruns that one
permutation as many times as needed. (I have not explored the role
that Weight plays here.) (Under the hood: It produces the following
script -- Set List.Order = PermutationOrder(...); Set List.Deletion =
NoDeletion)
Also see the following topics in online E-Basic
Help: SequentialOrder Object, RandomOrder Object, RandomReplaceOrder
Object, OffsetOrder Object, Permutation[sic] Object (note no entry
for Counterbalance, see above).
-- David McFarlane, Professional Faultfinder