Millisecond Forums

Top Five

By dougoxley - 1/3/2013


I'm having trouble while working on a script to get the participant to choose their favorite among the top five of forty previously presented and ranked  stimuli.  Alternatively, we would accept having  the participant choose from among all of their previous highest rated items rather than the top five.  Here is the basic flow of the Inquisit 3 script (we're using Inquisit 3 because of the current problems with the beta regarding integration with ASL eye trackers):

1. Using autoit, copy each participants' specific list of jpg images to a file which is included in the stimulus presentation script.  The list of jpg images is in an item object.

2.  Run the stimulus presentation program.  It includes instructions and such.

3. Show each participant their own set of jpg stimuli.  In between each stimulus presentation, a likert question is used to rank the participants from 1 to 7 with 1 being best.  I have been able to use the "ontrialend" to continuously calculate a highscore that can be stored as a value.

Up to this point, everything is working slick.  However, this is where we want to show the top five, or alternatively, all the items with the highest rating.  My thoughts about the program flow for this object are of two possible paths and I can't get either one programmed exactly right...

Program flow for Alternative A - Top Five

A4. Get the likert scores and original stimulus item numbers into an text or item object.

A5. Sort the text / items in an expression.

A5. Show, in ordered sequence, the first five stimuli of the sorted item list.

A6. Have the participant choose their favorite of the top five.

The problem with this plan seems to be that I need the link to the original jpg file name and the likert response item.  I think it could be done by sorting a linked list, but I can't imagine how to do that in Inquisit 3.  I have the recursive sorting routine used in the examples, and it seems to be sorting a text object with a single value.  I need to have it sort a list of likert responses and keep a link to their original item numbers, or jpg file names, so that I can get the correct jpg file for the stimulus presentation.

Program flow for Alternative B - Highest Rating

B4.  Get the highscore value calculated while all the ratings are being done the first time.  The formula is that, on each trial end if the likert score is higher than the high score value, then replace the highscore value.

B5. Present a set of items while skipping any items with a prior likert response less than the high score.

B6. Have the participant choose their favorite among those with a high score.

The problem with this plan has been in accessing the prior likert responses.  I can pretty easily cycle through the original items and skip ones fitting a pattern, but how can I get the associated likert response from the original likert trial to be part of the formula for skipping?

At this point, my frustration level is high, and I am open to suggestion...  Thanks in advance for any assistance.

Doug Oxley, University of Wyoming

By Dave - 1/3/2013

You link stimuli (and their associated items) in Inquisit by defining dependencies between them via /select attributes.

You can use empty <item> elements to store stimuli and the associated responses at runtime.

You can then sort or rank those item lists by extending e.g. or using a different approach like