| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LM:Counterbalance Assign
The LM:Counterbalance Assign module helps to set up
counterbalanced experiments by presenting a grid which specifies which
arrays assignments are performed for each subject. It must go
inside the subject loop module. See section LM:Subject Loop.
Unlike most other modules, LM:Counterbalance Assign is configured
in a two-step process: first a few basic parameters are entered in the main
configuration pane, and then a second dialog window is used to specify the
grid (called the Assignment Matrix Editor, or AME.
Here is the main configuration pane configured with an example:

Number of Subjects: number of subjects (must agree with
Subject Loop (see section LM:Subject Loop.
In the example above, 3 subjects are specified.
Number of Items: number of items (array elements) to
counterbalance. All arrays, source and destination, must have exactly
this number of elements in them. In the example above, 30 items are
specified.
Assignment Matrix Editor. Once the fields above have been
specified, click on the AME button to invoke the Assignment Matrix
Editor. This will put up a new window in which you specify the actual
array assignments.
This the AME, again configured with an example:

At the top of the table are the AME control buttons:
Clear. Clear all fields in the matrix, for when you want to start
over
OK. Accept all changes, close AME and go back to main program.
Cancel. Ignore all changes, close AME and go back to main program.
Description. Optional description you can enter for the
configuration you set up it will show up in the main program.
Verify. (Grayed out) Not yet implemented
Index Range. The top row of the table gives the index range for a
column. Index ranges are given as a pair of constant integers separated
by dash: `beg-end'. By default, the index ranges are
filled in for you starting at one and ending at number-of-items
with equal numbers of items for each column. If the number of items is
not evenly divisible by the number of subjects, the last column will
have a smaller range.
The ranges can be adjusted. Here, the default ranges of `1-10', `11-20', `21-30' have been changed to `1-8', `9-25', `26-30'. Bunao will complain at runtime if adjusted ranges overlap or underlap (for example, if `1-10' `8-20' was specified).
Each cell of this table is made of three fields:
Source. Comma separated list of source array names
Rand, abbreviated R. Whether the destination arrays should
be randomized by pointers see section LM:Randomize Sets after assignment. The default is not (unchecked).
Dest. Comma separated list of destination array names must have
the same number of entries as the Souce box.
At each turn through the subject loop, the counterbalance module processes the corresponding row of the matrix. Each row is in turn processed one cell at a time. For each cell, the specified elements of the source arrays are assigned to the corresponding elements of the destination arrays. For example, for the first subject:
A1(1-8) --> X1(1-8) A2(1-8) --> X2(1-8) B1(9-25) --> X1(9-25) B2(9-25) --> X2(9-25) C1(26-30) --> X1(26-30) C2(26-30) --> X2(26-30) |
In the example above, there are three pairs of source arrays: `A1,A2', `B1,B2' and `C1,C2', each with 30 items. The goal is to create a new pair of arrays, `X1,X2' for each subject such that elements from each of the three sources appear in `X1,X2', and that the sources appear in different relative positions for each subject. The assignment matrix makes it clear that this requirement is met: all source arrays appear in each column and each row exactly once.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |