Millisecond Forums

counterbalancing a list of items

https://forums.millisecond.com/Topic18589.aspx

By Shona - 3/14/2016

Hello, 

I would like to counter-balance the presentation of a list of items. i.e., I would like participants to see either one list of stimuli (mem.CB) or another list of stimuli (memOG). The items in each list should be presented randomly. I am having trouble figuring out how to do this. Currently, inquisit randomly selects an item from either list. I cannot get it to present the stimuli from one list OR the other. I would be enormously grateful for any suggestions. I have pasted my script below. Thank you very much,

Shona

***********************************************************************
COUNTER-BALANCED VERSION
***********************************************************************

***********************************************************************
SCRIPT INFO

updated for Inquisit 4.0 by K. Borchert (katjab@millisecond.com) for Millisecond Software LLC

last changed: 08-14-2012
***********************************************************************
BACKGROUND INFO
***********************************************************************
A script that implements the AMP measuring implicit attitudes towards flowers and insects.
The script is designed to be easily adaptable to other target categories.



***********************************************************************
DEFAULTS
***********************************************************************
requires Inquisit 4.0.0.0 or higher

<defaults>
/ fontstyle = ("Arial", 3.5%)
/ screencolor = black
/ txbgcolor = black
/ txcolor = white
/ minimumversion = "4.0.0.0"
/canvasaspectratio = (4, 3)
</defaults>
***********************************************************************
VALUES
***********************************************************************
***********************************************************************
Scoring
***********************************************************************

************
editable parameters
************


************
other parameters
************
<values>
</values>

***********************************************************************
DATA
***********************************************************************
***********************************************************************
Data Columns
***********************************************************************
******************
Raw Data Files
******************
<data>
/file = "AMP_rawdata.iqdat"
/columns = [date, time, subject, blockcode, blocknum, trialcode, trialnum, response, latency, trialdata, trialdata, stimulusitem, stimulusnumber, stimulusitem, stimulusnumber, stimulusitem, stimulusnumber, stimulusitem, stimulusnumber]
/separatefiles = true
</data>


***********************************************************************
INSTRUCTIONS
***********************************************************************
***********************************************************************
Task instruction stimuli
***********************************************************************

<trial instructions1>
/ stimulustimes = [1=instructions1, spacebar1]
/ correctresponse = (" ")
/ errormessage = false
/ recorddata = false
</trial>

<text instructions1>
/ items = instructions1
/ hjustify = left
/ size = (90%, 60%)
/ position = (50%, 85%)
/ valign = bottom
/ select = sequence
</text>


<item instructions1>
/ 1 = "Thank you for taking part in our study. We're interested in how memory and perception interact over time. First we're going to have you do a memory task, where you'll be asked to learn bits of information about a series of people. Next, you'll do a short visual perception task. Later on, we'll test you on your memory for the individuals you learned about in the first task. You are now about to begin the first memorization task in which you will learn bits of information about different people. Please read the information carefully."
</item>


<text spacebar1>
/ items = ("Press the SPACE BAR to begin.")
/ position = (50%, 95%)
/ valign = bottom
</text>




<trial instructions2>
/ stimulustimes = [1=instructions2, spacebar2]
/ correctresponse = (" ")
/ errormessage = false
/ recorddata = false
</trial>

<text instructions2>
/ items = instructions2
/ hjustify = left
/ size = (90%, 60%)
/ position = (50%, 85%)
/ valign = bottom
/ select = sequence
</text>


<trial transition>
/ stimulustimes = [1=transition, spacebar2]
/ correctresponse = (" ")
/ errormessage = false
/ recorddata = false
</trial>

<text transition>
/ items = transition
/ hjustify = left
/ size = (90%, 60%)
/ position = (50%, 85%)
/ valign = bottom
/ select = sequence
</text>


<item instructions2>
/ 1 = "Thank you very much for completing the sentence memorization task. In this next phase of the study, we will assess your memory and perceptual ability.~n~nYou will see playing cards appear briefly on the screen and you will be asked to report which card was presented. Please try to identify each card. This may be difficult because the cards will be presented for very brief (varying) amounts of time. Please try to perform as best you can."
</item>



<item transition>
/ 1 = "Thank you for completing the visual perception task. We have a few additional surveys for you to complete, as well as the memory test."
</item>


<text spacebar2>
/ items = ("Press the SPACE BAR to begin.")
/ position = (50%, 95%)
/ valign = bottom
</text>


<trial memoryOG>
/ stimulustimes = [1=memoryOG]
/ correctresponse = (" ")
/ errormessage = false
/ recorddata = false
</trial>

<text memoryOG>
/ items = memoryOG
/ hjustify = center
/ position = (55%, 72%)
/ size = (50%, 50%)
/ valign = center
/selectionrate = always
/select = noreplacenorepeat
</text>


<trial memory.CB>
/ stimulustimes = [1=memory.CB]
/ correctresponse = (" ")
/ errormessage = false
/ recorddata = false
</trial>

<text memory.CB>
/ items = memory.CB
/ hjustify = center
/ position = (55%, 72%)
/ size = (50%, 50%)
/ valign = center
/selectionrate = always
/select = noreplacenorepeat
</text>



<item memoryOG>
/ 1 = "Jessica spent the afternoon working on wedding planning."
/ 2 = "Ashley didn't want to go to the baseball game."
/ 3 = "Emily framed a photograph she'd taken."
/ 4 = "Michael ordered a salad on a date."
/ 5 = "Christopher got teary-eyed at the theater."
/ 6 = "Jacob screamed when he saw a cockroach."
/ 7 = "Nicholas hates going to the ballet."
/ 8 = "Thomas took a job as a truck driver."
/ 9 = "Brandon changed a flat tire."
/ 10 = "Rachel washed her car on a sunny day."
/ 11 = "Sarah spent the afternoon doing repairs on her car."
/ 12 = "Hannah spent all of Sunday watching football."
/ 13 = "Daniel wiped off his glasses."
/ 14 = "Andrew lost his car keys."
/ 15 = "Megan turned her phone off before the movie started."
/ 16 = "Lauren found a $20 bill on the street."
</item>


<item memory.CB>
/ 1 = "Michael spent the afternoon working on wedding planning."
/ 2 = "Christopher didn't want to go to the baseball game."
/ 3 = "Jacob framed a photograph he'd taken."
/ 4 = "Jessica ordered a salad on a date."
/ 5 = "Ashley got teary-eyed at the theater."
/ 6 = "Emily screamed when she saw a cockroach."
/ 7 = "Rachel hates going to the ballet."
/ 8 = "Sarah took a job as a truck driver."
/ 9 = "Hannah changed a flat tire."
/ 10 = "Nicholas washed his car on a sunny day."
/ 11 = "Thomas spent the afternoon doing repairs on his car."
/ 12 = "Brandon spent all of Sunday watching football."
/ 13 = "Megan wiped off her glasses."
/ 14 = "Lauren lost her car keys."
/ 15 = "Daniel turned his phone off before the movie started."
/ 16 = "Andrew found a $20 bill on the street."
</item>


***********************************************************************
STIMULI
***********************************************************************

***********************************************************************
This sample AMP can be easily adapted to different target categories
and attributes. To change the categories, you need only change the
stimulus items and labels immediately below this line.

***********************************************************************
<item heart_norm>
/1 = "3diamonds.jpg"
/2 = "5spades.jpg"
/3 = "7clubs.jpg"
/4 = "9hearts.jpg"
</item>

<item heart_anom>
/1 = "4hearts.jpg"
/2 = "6spades.jpg"
</item>

<item fixation>
/1= "fixation.jpg"
</item>

<dropdown Question>
/ options = ("I'm not sure", "None of the options below", "3 of diamonds", "3 of clubs", "3 of hearts", "3 of spades", "4 of diamonds", "4 of clubs", "4 of hearts", "4 of spades", "5 of diamonds", "5 of clubs", "5 of hearts", "5 of spades", "6 of diamonds", "6 of clubs", "6 of hearts", "6 of spades", "7 of diamonds", "7 of clubs", "7 of hearts", "7 of spades", "8 of diamonds", "8 of clubs", "8 of hearts", "8 of spades", "9 of diamonds", "9 of clubs", "9 of hearts", "9 of spades")
/ position = (40%, 50%)
/ size = (90%, 5%)
/ required = true
</dropdown>

<caption caption>
/ caption = "Which card was just presented on the screen?"
/ position = (28%, 40%)
/ size = (70%, 10%)
</caption>


***********************************************************************
Symbol and neutral stimuli
***********************************************************************



<shape blank>
/ shape = rectangle
/ color = black
/ size = (50%, 50%)
</shape>

<picture fixation>
/ items = fixation
/ size = (50%, 50%)

</picture>

<picture heart_norm>
/ items = heart_norm
/ size = (75%, 75%)
</picture>


<picture heart_anom>
/ items = heart_anom
/ size = (75%, 75%)
</picture>

***********************************************************************
Trials
***********************************************************************


<surveypage quest_caption>
/ questions=[1=question; 2=caption]
/ showpagenumbers = false
/ showquestionnumbers = false
/ showbackbutton=false
/ finishlabel = "Next"
</surveypage>


<trial mem.CB>
/ stimulustimes = [0=fixation; 1300=memory.CB; 6300=blank]
/ timeout = 10
</trial>


<trial memOG>
/ stimulustimes = [0=fixation; 1300=memoryOG; 6300=blank]
/ timeout = 10
</trial>


<trial 16ms_NRM>
/ stimulustimes = [0=fixation; 900=heart_norm; 916=blank]
/ trialdata = [heart_norm]
/ timeout = 10
</trial>

<trial 32ms_NRM>
/ stimulustimes = [0=fixation; 900=heart_norm; 932=blank]
/ trialdata = [heart_norm]
/ timeout = 10
</trial>


<trial 48ms_NRM>
/ stimulustimes = [0=fixation; 900=heart_norm; 948=blank]
/ trialdata = [heart_norm]
/ timeout = 10
</trial>

<trial 64ms_NRM>
/ stimulustimes = [0=fixation; 900=heart_norm; 964=blank]
/ trialdata = [heart_norm]
/ timeout = 10
</trial>

<trial 80ms_NRM>
/ stimulustimes = [0=fixation; 900=heart_norm; 980=blank]
/ trialdata = [heart_norm]
/ timeout = 10
</trial>

<trial 96ms_NRM>
/ stimulustimes = [0=fixation; 900=heart_norm; 996=blank]
/ trialdata = [heart_norm]
/ timeout = 10
</trial>

<trial 112ms_NRM>
/ stimulustimes = [0=fixation; 900=heart_norm; 1012=blank]
/ trialdata = [heart_norm]
/ timeout = 10
</trial>

<trial 128ms_NRM>
/ stimulustimes = [0=fixation; 900=heart_norm; 1028=blank]
/ trialdata = [heart_norm]
/ timeout = 10
</trial>

<trial 144ms_NRM>
/ stimulustimes = [0=fixation; 900=heart_norm; 1044=blank]
/ trialdata = [heart_norm]
/ timeout = 10
</trial>

<trial 160ms_NRM>
/ stimulustimes = [0=fixation; 900=heart_norm; 1060=blank]
/ trialdata = [heart_norm]
/ timeout = 10
</trial>



<trial 16ms_AN>
/ stimulustimes = [0=fixation; 900=heart_anom; 916=blank]
/ trialdata = [heart_anom]
/ timeout = 10
</trial>

<trial 32ms_AN>
/ stimulustimes = [0=fixation; 900=heart_anom; 932=blank]
/ trialdata = [heart_anom]
/ timeout = 10
</trial>


<trial 48ms_AN>
/ stimulustimes = [0=fixation; 900=heart_anom; 948=blank]
/ trialdata = [heart_anom]
/ timeout = 10
</trial>

<trial 64ms_AN>
/ stimulustimes = [0=fixation; 900=heart_anom; 964=blank]
/ trialdata = [heart_anom]
/ timeout = 10
</trial>

<trial 80ms_AN>
/ stimulustimes = [0=fixation; 900=heart_anom; 980=blank]
/ trialdata = [heart_anom]
/ timeout = 10
</trial>

<trial 96ms_AN>
/ stimulustimes = [0=fixation; 900=heart_anom; 996=blank]
/ trialdata = [heart_anom]
/ timeout = 10
</trial>

<trial 112ms_AN>
/ stimulustimes = [0=fixation; 900=heart_anom; 1012=blank]
/ trialdata = [heart_anom]
/ timeout = 10
</trial>

<trial 128ms_AN>
/ stimulustimes = [0=fixation; 900=heart_anom; 1028=blank]
/ trialdata = [heart_anom]
/ timeout = 10
</trial>

<trial 144ms_AN>
/ stimulustimes = [0=fixation; 900=heart_anom; 1044=blank]
/ trialdata = [heart_anom]
/ timeout = 10
</trial>

<trial 160ms_AN>
/ stimulustimes = [0=fixation; 900=heart_anom; 1060=blank]
/ trialdata = [heart_anom]
/ timeout = 10
</trial>


***********************************************************************
Blocks
***********************************************************************

<block instructions1>
/ trials = [1 = instructions1]
/ recorddata = false
</block>


<block mem>
/ trials = [1-16 = noreplacenorepeat(mem.CB, memOG)]
/ recorddata = false
</block>



<block instructions2>
/ trials = [1 = instructions2]
/ recorddata = false
</block>

<block transition>
/ trials = [1 = transition]
/ recorddata = false
</block>


<block test>
/ trials = [1 = 16ms_NRM; 2 = quest_caption; 3 = 16ms_NRM; 4 = quest_caption; 5 = 16ms_AN; 6 = quest_caption; 7 = 16ms_AN; 8 = quest_caption; 9 = 16ms_NRM; 10 = quest_caption; 11 = 32ms_NRM; 12 = quest_caption; 13 = 32ms_NRM; 14 = quest_caption; 15 = 32ms_AN; 16 = quest_caption; 17 = 32ms_NRM; 18 = quest_caption; 19 = 32ms_NRM; 20 = quest_caption; 21 = 32ms_AN; 22 = quest_caption; 23 = 48ms_NRM; 24 = quest_caption; 25 = 48ms_AN; 26 = quest_caption; 27 = 48ms_NRM; 28 = quest_caption; 29 = 48ms_NRM; 30 = quest_caption; 31 = 48ms_AN; 32 = quest_caption; 33 = 48ms_NRM; 34 = quest_caption; 35 = 64ms_NRM; 36 = quest_caption; 37 = 64ms_NRM; 38 = quest_caption; 39 = 64ms_AN; 40 = quest_caption; 41 = 64ms_NRM; 42 = quest_caption; 43 = 64ms_NRM; 44 = quest_caption; 45 = 64ms_AN; 46 = quest_caption; 47 = 80ms_NRM; 48 = quest_caption; 49 = 80ms_AN; 50 = quest_caption; 51 = 80ms_NRM; 52 = quest_caption; 53 = 80ms_NRM; 54 = quest_caption; 55 = 80ms_AN; 56 = quest_caption; 57 = 80ms_NRM; 58 = quest_caption; 59 = 96ms_AN; 60 = quest_caption; 61 = 96ms_NRM; 62 = quest_caption; 63 = 96ms_NRM; 64 = quest_caption; 65 = 96ms_AN; 66 = quest_caption; 67 = 96ms_NRM; 68 = quest_caption; 69 = 96ms_NRM; 70 = quest_caption; 71 = 112ms_NRM; 72 = quest_caption; 73 = 112ms_NRM; 74 = quest_caption; 75 = 112ms_AN; 76 = quest_caption; 77 = 112ms_NRM; 78 = quest_caption; 79 = 112ms_NRM; 80 = quest_caption; 81 = 112ms_AN; 82 = quest_caption; 83 = 128ms_NRM; 84 = quest_caption; 85 = 128ms_AN; 86 = quest_caption; 87 = 128ms_NRM; 88 = quest_caption; 89 = 128ms_NRM; 90 = quest_caption; 91 = 128ms_AN; 92 = quest_caption; 93 = 128ms_NRM; 94 = quest_caption; 95 = 144ms_AN; 96 = quest_caption; 97 = 144ms_NRM; 98 = quest_caption; 99 = 144ms_NRM; 100 = quest_caption; 101 = 144ms_AN; 102 = quest_caption; 103 = 144ms_NRM; 104 = quest_caption; 105 = 144ms_NRM; 106 = quest_caption; 107 = 160ms_NRM; 108 = quest_caption; 109 = 160ms_NRM; 110 = quest_caption; 111 = 160ms_AN; 112 = quest_caption; 113 = 160ms_NRM; 114 = quest_caption; 115 = 160ms_NRM; 116 = quest_caption; 117 = 160ms_AN; 118 = quest_caption]
</block>

***********************************************************************
Experiment
***********************************************************************
<expt>
/ blocks = [1=instructions1; 2=mem; 3=instructions2; 4=test; 5=transition]
</expt>

***********************************************************************
Test Monkey
***********************************************************************
<monkey>
/ latencydistribution = normal(500, 100)
/ percentcorrect = 90
</monkey>



***********End of Script********************



By Dave - 3/14/2016

Set up a <block> that only runs the OG trials

<block memOG>
/ trials = [1-16 = memOG]
/ recorddata = false
</block>

Set up a <block> that only runs the CB trials

<block memCB>
/ trials = [1-16 = memCB]
/ recorddata = false
</block>

You want to treat them as a between-subjects condition.

<expt>
/ blocks = [1=instructions1; 2=memOG; 3=instructions2; 4=test; 5=transition]
/ subjects = (1 of 2)
/ groupassignment = groupnumber
</expt>

<expt>
/ blocks = [1=instructions1; 2=memCB; 3=instructions2; 4=test; 5=transition]
/ subjects = (2 of 2)
/ groupassignment = groupnumber
</expt>


It is completely unclear what the purpose of

<trial memoryOG>
/ stimulustimes = [1=memoryOG]
/ correctresponse = (" ")
/ errormessage = false
/ recorddata = false
</trial>

and

<trial memory.CB>
/ stimulustimes = [1=memory.CB]
/ correctresponse = (" ")
/ errormessage = false
/ recorddata = false
</trial>

 is supposed to be. You do not run those trials anywhere in your script.