list selection


Author
Message
luca7
luca7
Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)
Group: Forum Members
Posts: 25, Visits: 68
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 -------------------------------------------


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
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 -------------------------------------------


luca7
luca7
Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)
Group: Forum Members
Posts: 25, Visits: 68
Hi Dave, thank you so much, it’s perfect. I really appreciate your help.

- Luca

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search