By luca7 - 12/1/2015
Dear Inquisit users, I spent some time on this issue and I'm not sure how to proceed. I'm working on a modified version of the self-paced reading task, but I think my question can be more easily illustrated with a simpler example (code below).
I have 3 lists of items (which correspond to 3 different experimental conditions) and I'd like the list to be selected based on a sequence that I determine a priori, then Inquisit select an item randomly (noreplace) from the list selected. For example, I determine that in my experiment of 6 items I'd like the first item to be from list1, items 2 and 3 from list2, item 4 from list1, items 5 and 6 from list3. Given the selected list, Inquisit will pick randomly an item.
Conceptual description:
predetermined list sequential order: 1 2 2 1 3 3
IF predetermined = 1 mylist = list1 elseif predetermined = 2 mylist = list2 elseif predetermined = 3 mylist = list3
<text mytext> / items = mylist / select = noreplace </text>
Below is an example of real Inquisit code, but it's not working. Given that the real experiment is pretty complex (an item presentation is composed of a sequence of 10 trials) I'd prefer (perhaps I have) to have the list selection at the <text> level, not at a higher level (block or expt).
Thank you for any suggestion you may have. Luca
--- Example Begin ----------------------------------------
<expt> / blocks = [1=myblock1] </expt>
<block myblock1> / trials = [1=t1sent] </block>
--- trial ------------------------------------------------
<trial t1sent> / stimulustimes = [0=sent] / timeout = 1000 / branch = [trial.t2quest] </trial>
<trial t2quest> / stimulustimes = [0=quest] / validresponse = (57) / branch = [if (trial.t2quest.count < 6) trial.t1sent] </trial>
--- text -------------------------------------------
<list selectlist> / items = (1 2 2 1 3 3) </list>
* how do I do this? Assign sentlist1/2/3 to sentlist depending on selectlist Assign questlist1/2/3 to questlist depending on selectlist
<text sent> / items = sentlist / select = noreplace </text>
<text quest> / items = questlist / select = text.sent.currentindex </text>
--- items -------------------------------------------
* sentences lists * <item sentlist1> / 1 = "sent 1 (list 1)" / 2 = "sent 2 (list 1)" </item>
<item sentlist2> / 1 = "sent 1 (list 2)" / 2 = "sent 2 (list 2)" </item>
<item sentlist3> / 1 = "sent 1 (list 3)" / 2 = "sent 2 (list 3)" </item>
* questions lists * <item questlist1> / 1 = "quest 1 (list 1)" / 2 = "quest 2 (list 1)" </item>
<item questlist2> / 1 = "quest 1 (list 2)" / 2 = "quest 2 (list 2)" </item>
<item questlist3> / 1 = "quest 1 (list 3)" / 2 = "quest 2 (list 3)" </item>
--- End -------------------------------------------
|
By Dave - 12/1/2015
Don't use multiple <item> elements for your various "lists". Only use one, sample the respective *item number* from <list> element according to the "main" list selected:
--- Example Begin ---------------------------------------- <values> / selectedlist = 0 / myitem = 1 </values>
<expt> / blocks = [1=myblock1] </expt>
<block myblock1> / trials = [1=t1sent] </block>
--- trial ------------------------------------------------
<trial t1sent> / ontrialbegin = [values.selectedlist=list.selectlist.nextvalue; ] / ontrialbegin = [if (values.selectedlist==1) {values.myitem=list.list1itemnumbers.nextvalue; } else if (values.selectedlist==2) {values.myitem=list.list2itemnumbers.nextvalue; } else if (values.selectedlist==3) {values.myitem=list.list3itemnumbers.nextvalue; }; ] / stimulustimes = [0=sent] / timeout = 1000 / branch = [trial.t2quest] </trial>
<trial t2quest> / stimulustimes = [0=quest] / validresponse = (57) / branch = [if (trial.t2quest.count < 6) trial.t1sent] </trial>
--- text -------------------------------------------
<list selectlist> / items = (1,2,2,1,3,3) / selectionmode = sequence </list>
<list list1itemnumbers> / items = (1,2) </list>
<list list2itemnumbers> / items = (3,4) </list>
<list list3itemnumbers> / items = (5,6) </list>
<text sent> / items = sentlist / select = values.myitem </text>
<text quest> / items = questlist / select = values.myitem </text>
--- items -------------------------------------------
* sentences lists * <item sentlist> / 1 = "sent 1 (list 1)" / 2 = "sent 2 (list 1)"
/ 3 = "sent 1 (list 2)" / 4 = "sent 2 (list 2)"
/ 5 = "sent 1 (list 3)" / 6 = "sent 2 (list 3)" </item>
* questions lists * <item questlist> / 1 = "quest 1 (list 1)" / 2 = "quest 2 (list 1)"
/ 3 = "quest 1 (list 2)" / 4 = "quest 2 (list 2)"
/ 5 = "quest 1 (list 3)" / 6 = "quest 2 (list 3)" </item>
--- End -------------------------------------------
|
By luca7 - 12/1/2015
Hi Dave, thank you so much, it’s perfect. I really appreciate your help.
- Luca
|
|