Millisecond Forums

## Setting stimuli set at block level, as opposed to trial level

https://www.millisecond.com/forums/Topic20678.aspx

 By sdandeneau - 2/9/2017 I'm running a task that requires counterbalancing stimuli sets across participants. Ex. Part. 1 gets. set 1 for bloc 1 and set 2 for block 2, whereas Part. 2 get set 2 for bloc 1 and set 1 for block 2. My question: instead of creating trial1 and trial 2 - and block 1(which runs trial 1) and block 2 (which runs bloc 2). Both trials are the same the blocks... the only difference is that stimuli used to run the trial. Is it possible to define the Trial once, but in the Block defining the stimuli set that should be used to run the trial?Something like: / trials = [1-4=trial]/ values.stimuliset = 1/ trials = [1-4=trial]/ values.stimuliset = 2Thanks in advanceStéphane By Dave - 2/9/2017 +xsdandeneau - Thursday, February 9, 2017I'm running a task that requires counterbalancing stimuli sets across participants. Ex. Part. 1 gets. set 1 for bloc 1 and set 2 for block 2, whereas Part. 2 get set 2 for bloc 1 and set 1 for block 2. My question: instead of creating trial1 and trial 2 - and block 1(which runs trial 1) and block 2 (which runs bloc 2). Both trials are the same the blocks... the only difference is that stimuli used to run the trial. Is it possible to define the Trial once, but in the Block defining the stimuli set that should be used to run the trial?Something like: / trials = [1-4=trial]/ values.stimuliset = 1/ trials = [1-4=trial]/ values.stimuliset = 2Thanks in advanceStéphaneYes, you can achieve that by using nested elements://counterbalancing://set 1 first/ subjects = (1 of 2)/ groupassignment = groupnumber/ blocks = [1=set1; 2=set2]//set 2 first/ subjects = (2 of 2)/ groupassignment = groupnumber/ blocks = [1=set2; 2=set1]/ onblockbegin = [values.set = 1]/ trials = [1-4=mytrial]/ onblockbegin = [values.set = 2]/ trials = [1-4=mytrial]/ stimulusframes = [1=mytext]/ validresponse = (57)/ items = myitems/ select = list.setlist.nextvalue/ 1 = "Set 1 Item 1"/ 2 = "Set 1 Item 2"/ 3 = "Set 1 Item 3"/ 4 = "Set 1 Item 4"/ 5 = "Set 2 Item 1"/ 6 = "Set 2 Item 2"/ 7 = "Set 2 Item 3"/ 8 = "Set 2 Item 4"//list of lists returns an item number fromt the set list indicated by values.set/ items = (list.set1items.nextvalue, list.set2items.nextvalue)/ selectionmode = values.set//set 1 are item numbers 1 to 4/ items = (1,2,3,4)//set 2 are item numbers 5 to 8/ items = (5,6,7,8)/ set = 1 By sdandeneau - 2/10/2017 +xDave - Thursday, February 9, 2017+xsdandeneau - Thursday, February 9, 2017I'm running a task that requires counterbalancing stimuli sets across participants. Ex. Part. 1 gets. set 1 for bloc 1 and set 2 for block 2, whereas Part. 2 get set 2 for bloc 1 and set 1 for block 2. My question: instead of creating trial1 and trial 2 - and block 1(which runs trial 1) and block 2 (which runs bloc 2). Both trials are the same the blocks... the only difference is that stimuli used to run the trial. Is it possible to define the Trial once, but in the Block defining the stimuli set that should be used to run the trial?Something like: / trials = [1-4=trial]/ values.stimuliset = 1/ trials = [1-4=trial]/ values.stimuliset = 2Thanks in advanceStéphaneYes, you can achieve that by using nested elements://counterbalancing://set 1 first/ subjects = (1 of 2)/ groupassignment = groupnumber/ blocks = [1=set1; 2=set2]//set 2 first/ subjects = (2 of 2)/ groupassignment = groupnumber/ blocks = [1=set2; 2=set1]/ onblockbegin = [values.set = 1]/ trials = [1-4=mytrial]/ onblockbegin = [values.set = 2]/ trials = [1-4=mytrial]/ stimulusframes = [1=mytext]/ validresponse = (57)/ items = myitems/ select = list.setlist.nextvalue/ 1 = "Set 1 Item 1"/ 2 = "Set 1 Item 2"/ 3 = "Set 1 Item 3"/ 4 = "Set 1 Item 4"/ 5 = "Set 2 Item 1"/ 6 = "Set 2 Item 2"/ 7 = "Set 2 Item 3"/ 8 = "Set 2 Item 4"//list of lists returns an item number fromt the set list indicated by values.set/ items = (list.set1items.nextvalue, list.set2items.nextvalue)/ selectionmode = values.set//set 1 are item numbers 1 to 4/ items = (1,2,3,4)//set 2 are item numbers 5 to 8/ items = (5,6,7,8)/ set = 1Thanks! That'll do the trick for me!