Equal Numbers of Conditions in Within-subjects Experiment


Author
Message
ldb24
ldb24
Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)
Group: Forum Members
Posts: 13, Visits: 47
Aha, just what I needed. Thanks for the direction.
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: 108K
You indeed need to properly pair your list elements. See the "How to display stimulus pairs" topic in the documentation. The example therein uses <text> elements, but pairing <list>s works exactly the same.

ldb24
ldb24
Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)Partner Member (886 reputation)
Group: Forum Members
Posts: 13, Visits: 47

I’m having trouble with something that I feel is probablyeasier than I’m making it out to be. I have an experiment with 4 differentconditions (within-subjects): number of stimuli to present (1 or 4), the typeof intervening stimuli (2 types), if one of the stimuli changes after a briefinterval (same or different), and the length of the post-trial pause (5 optionsin ms). So that is a 2 x 2 x 2 x 5, or 40 different combinations

I want 10 trials of each combination. I do have a workingversion of the script but I was only able to get it to run without having anequal number in each condition. To do that, I made a list of each condition andassigned the current value to the appropriate values variable, like this (justshorter):

<list numberofobjects>

/items = (1,1,1,1,1,4,4,4,4,4)

/replace = false

/selectionmode = random

</list>

 

<list sameordifferent>

/items = (1,1,1,1,1,2,2,2,2,2)

/replace = false

/selectionmode = random

</list>

 <list interveningstimulustype>

/items = (1,1,1,1,1,2,2,2,2,2)

/replace = false

/selectionmode = random

</list>

<list posttrialpauses>

/items = (10,20,30,40,50,10,20,30,40,50)

/replace = false

/selectionmode = random

</list>


<values>

/numobjects = 0

/sameordiff = 0

/stimtype = 0

/ptp = 0

</values>

<trial studystimuli>

/ontrialbegin = [values.numobjects =list.numberofobjects.nextvalue; values.sameordiff =list.sameordifferent.nextvalue; values.stimtype =list.interveningstimulustype.nextvalue; values.ptp =list.posttrialpause.nextvalue]

/ontrialbegin = [if (values.numberofobjects >= 1)trial.studyarray.insertstimulusframe(picture.object1, 1)]

/ontrialbegin = [if (values.numberofobjects >= 2)trial.studyarray.insertstimulusframe(picture.object2, 1)]

/ontrialbegin = [if (values.numberofobjects >= 3)trial.studyarray.insertstimulusframe(picture.object3, 1)]

/ontrialbegin = [if (values.numberofobjects >= 4)trial.studyarray.insertstimulusframe(picture.object4, 1)]

/ontrialend = [trial.studyarray.resetstimulusframes()]

/timeout = 1000

/posttrialpause = values.ptp

/branch = [if(values.stimtype == 1) trial.maskingstimuli1else trial.maskingstimuli2]

</trial>

<trial maskingstimuli1>

/stimulusframes = [1 = somestimulihere]

/branch = [if(values.sameordiff == 1) trial.sametrial elsetrial.different trial]

</trial>

 <trial maskingstimuli2>

/stimulusframes = [1 = somestimulihere]

/branch = [if(values.sameordiff == 1) trial.sametrial elsetrial.different trial]

</trial>

 I thought I could do something like this, where I have onelist where all the conditions are paired together and then select items withinthe items:

 <list conditionslist>

/items = (1,1,2,10; 1,1,2,20; 1,1,2,30; 1,1,2,40; 1,1,2,50)

/replace = false

/selectionmode = random

</list>

But I’m not sure how to do that. I’ve tried a few things,like taking an item from that list (item being a string like 1,1,2,10), puttingit into another list and trying to use the list.currentconditions.item(1)function:

<list conditionslist>

/items = (1,1,2,10; 1,1,2,20; 1,1,2,30; 1,1,2,40; 1,1,2,50)

/replace = false

/selectionmode = random

</list>

 <list currentconditions>

/replace = false

/selectionmode = random

</list>

<trial example>


/ontrialbegin = [list.currentconditions.items =list.conditionslist.nextvalue]

/ontrialbegin = [values.numobjects = list.currentconditions.item(1);values.sameordiff = list.currentconditions.item(2); values.stimtype = list.currentconditions.item(3);values.ptp = list.currentconditions.item4)]

</trial>

But when I do that, I either get no stimuli or get errorslike didn’t call the items function for list.currentconditions.

I am fairly new to Inquisit, so maybe there is anotherfunction I should be using here to ensure I get equal numbers of each combinationof conditions?

Thanks in advance.

Lisa


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search