By gracethenoob - 8/24/2016
I have an experiment in which I show participant the images that have been drawn from a larger pool of images. After the participants have seen them once, they do another task, and then they are supposed to see these images again (basically). I have selected the images through a list function but I don't know how to index the same list when I want to show participants the images again. For example, Johnny gets "Good3" in the first task and so he should see "Good3" again in the second task. Please advise :-)
Abridged code is as follows:
<item pool_of_pos> /1 = "good1" /2 = "good2" /3 = "good3" /4 = "good4" /5 = "good5" /6 = "good6" /7 = "good7" /8 = "good8" /9 = "good9" /10 = "good10" /11 = "good11" /12 = "good12" /13 = "good13" /14 = "good14" /15 = "good15" /16 = "good16" </item>
<item pool_of_neg> /1 = "bad1" /2 = "bad2" /3 = "bad3" /4 = "bad4" /5 = "bad5" /6 = "bad6" /7 = "bad7" /8 = "bad8" /9 = "bad9" /10 = "bad10" /11 = "bad11" /12 = "bad12" /13 = "bad13" /14 = "bad14" /15 = "bad15" /16 = "bad16" </item>
############################################# <list nitems> / poolsize = 16 / selectionmode = random / selectionrate = always </list>
<list self_pos_items> </list>
<list self_neg_items> </list>
############################################# <text self_pos> / items = pool_of_pos / select = list.self_pos_items.nextvalue </text>
<text self_neg> / items = pool_of_neg / select = list.self_neg_items.nextvalue </text>
############################################# This is the first time they see the images <trial self_pos> /pretrialpause = 250 /ontrialbegin = [values.numberoftrialsrun = values.numberoftrialsrun+ 1] /stimulustimes = [0 = erasefixation, self_question, key_reminder_yes, key_reminder_no; 500 = self_pos] /validresponse = ("E", "P") </trial>
<trial self_neg> /pretrialpause = 250 /ontrialbegin = [values.numberoftrialsrun = values.numberoftrialsrun+ 1] /stimulustimes = [0 = erasefixation, self_question, key_reminder_yes, key_reminder_no; 500 = self_neg] /validresponse = ("E", "P") </trial>
#############################################This is the second time they see the images
<trial self_pos_mem> /pretrialpause = 250 /ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1] /stimulustimes = [0 = self_pos, key_reminder_memory] /validresponse = ("F", "N") /correctresponse = ("F") </trial>
<trial self_neg_mem> /pretrialpause = 250 /ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1] /stimulustimes = [0 = self_neg, key_reminder_memory] /validresponse = ("F", "N") /correctresponse = ("F") </trial>
############################################# <block training> / trials = [1-8 = noreplacenorepeat(self_pos, self_pos, other_pos, other_pos, self_neg, self_neg, other_neg, other_neg)] </block>
<block memory> / trials = [1-8 = noreplacenorepeat(self_pos_mem, self_pos_mem, other_pos_mem, other_pos_mem, self_neg_mem, self_neg_mem, other_neg_mem, other_neg_mem,)] </block>
############################################# <expt> / onexptbegin = [list.self_pos_items.appenditem(list.nitems.nextindex); list.self_neg_items.appenditem(list.nitems.nextindex); list.other_pos_items.appenditem(list.nitems.nextindex); list.other_neg_items.appenditem(list.nitems.nextindex); list.self_pos_items.appenditem(list.nitems.nextindex); list.self_neg_items.appenditem(list.nitems.nextindex); list.other_pos_items.appenditem(list.nitems.nextindex); list.other_neg_items.appenditem(list.nitems.nextindex); [...] continue adding to list until it's the right number of times... /blocks = [1 = training; 2 = memory] </expt>
|
By Dave - 8/24/2016
This has been covered numerous times, see e.g. https://www.millisecond.com/forums/FindPost13295.aspx or https://www.millisecond.com/forums/FindPost13410.aspx
The gist of it is that you need to record the item numbers used in the 1st part in one or several <list>s and then use those lists for stimulus selection in the 2nd part.
|
|